C++类的设计有关问题
C++类的设计问题,求助原来的代码是这样:class A{f1()f2()...}class B{g1()g2()...}class C{A aB b
C++类的设计问题,求助
原来的代码是这样:
class A
{
f1();
f2();
...
};
class B
{
g1();
g2();
...
};
class C
{
A a;
B b;
//将会使用a 和 b里面的函数
};
现在的新需求是这样:
class C 增加一个成员变量int x,而A和B的函数都需要用到这个变量。
目前想到两个solution:
1.修改A和B里面所有的函数,增加参数,将这个x传进去
2.A和B也增加一个成员变量,初始化时传进去
但是感觉两种都不是很好,第一种,A和B都有十几个函数,都得修改了;第二种,味道不对
诸位有何高招?
[解决办法]这个首先得从逻辑上看 int x 是否是A 跟 B 的属性?
如果是, 那么就应该把x放在 A B类内部, 而不是放在 C内部
如果不是, 而A B类又要用这个x,
那么应该把A B类中需要用到x的逻辑单独写成函数作为C的成员函数
如果这段逻辑又有需要用到A B类中其他成员变量,由A B类提供GetXXX提供给C类获取