首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++类的设计有关问题

2014-04-29 
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类获取

热点排行