您的位置:首页 > 其它

A类不能实例化,但B类需要使用A类对象的设计策略

2013-05-04 14:23 274 查看
方案一二,考虑的前提是A类不为抽象类。如果A类为抽象类的话,A类就不能实例化。

方案一:将A类的构造函数和析构函数声明为private,将B类声明为A类的友元

class B;

class A
{
friend B;
private:
A();
~A();
};

A(){}
~A(){}

class B
{
public:
A m_a;
};


 

方案二:将A类声明为B类的嵌套类,并将A类声明为B类的private。 

class B
{
private:
class A
{
};

public:
A m_a;
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐