【发布时间】:2014-01-26 11:25:11
【问题描述】:
假设 A 类对象应该是 B 类的一部分,那么我有三种方法可以将它合并到 B 类内部:
Method 1:
class B
{
public:
B():objA() {};
~B() {};
A objA;
};
Method 2:
class B
{
public:
B():pobjA(0) {};
~B() { delete pobjA;}
A *pobjA;
};
Method 3:
class C
{
public:
B() {};
~B() {};
boost::shared_ptr<A> pObjA;
};
那么我的问题是:当我将对象 A 作为 B 类的一部分时,我可以遵循一些指导方针吗?谢谢。
【问题讨论】:
-
在另一个类中包含一个类对象的唯一方法是方法 1。其他方法做的事情完全不同。
-
在每个类声明之后不要忘记你的
;。 -
另外,在您尝试
delete之前,您不需要检查 pobjA 的“非空性”:deleteNULL 是标准规定的良性