假设我在一个类中有一些数据结构如下
class DataStructure
{
DataStructure();
~DataStructure();
void reset();
void init();
void setiX();
...;
int getiX();
double get dx();
void addToList(OtherDataStructure dt);
private:
int ix;
int iy;
int iz;
double dx;
...;
vector<OtherDataStructure> dtStVec;
};
所以我通常将此类用作以下方式
class manageSomething
{
manageSomething();
~manageSomething();
func1();
func2();
...;
funcN();
private:
some vatiables;
DataStructure structure; //HERE
};
所以我通常必须使用 getter 和 setter 来访问数据结构变量
如果继承类不在主应用程序中,是否更好地继承数据结构,并直接访问所有元素,如下
class manageSomething : public DataStructure
{
manageSomething();
~manageSomething();
func1();
func2();
...;
funcN();
private:
some vatiables;
};
所以manageSomething的用法被用作
int main()
{
manageSomething manager;
///manager.stuff ....
return EXIT_SUCCESS;
}
我们什么时候决定选择哪一个?