質問するときは掲示板を使うべきという事で、改めて掲示板にて質問させていただきます。
日記の方で、アドバイス、回答をしていただいた方ありがとうございました。
本題ですが、
継承は極力避けるべきだとの意見を頂きました。
継承を使いすぎるとクラス関係がグチャグチャになるので、ということだと解釈しました。
そこで継承を使わずに実装しようとしたところで、メンバ変数の指定子をprotectedにしたときのようなことができないという事に気づきました。
その疑問点を再度質問させていただいたところ、うまく設計していたらprotectedを使わずとも、ゲッターセッターで十分な量に収まるという回答を頂きました。
ここで、新たに疑問が沸きました
クラス内での定数、これを結構使っていたのですが、protectedメンバでの継承を使わなければ、これも、継承を使った時の子クラスに相当するクラスでは使えませんよね。
定数なのでゲッターでの代入も出来ません。
例えば・・・
#include <iostream>
using namespace std;
class Super{
private:
static const int MAX = 10;
static const int MIN = 0;
int data;
public:
Super(){}
int Getter_Data(){
return data;
}
int Getter_MAX(){
return MAX;
}
};
class Sub{
private:
Super ObjSuper;
int get_data;
static const int get_MAX;
public:
void GetSuperData(){
get_data = ObjSuper.Getter_Data();
get_MAX = ObjSuper.Getter_MAX(); //エラー
}
};
こういう時はどうされているのでしょうか?
どうするのがいいのでしょうか?