A类不能实例化,但B类需要使用A类对象的设计策略
2013-05-04 14:23
274 查看
方案一二,考虑的前提是A类不为抽象类。如果A类为抽象类的话,A类就不能实例化。
方案一:将A类的构造函数和析构函数声明为private,将B类声明为A类的友元
方案二:将A类声明为B类的嵌套类,并将A类声明为B类的private。
方案一:将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; };
相关文章推荐
- A类只能通过B类的方法实例化,不能直接使用new,即内部类~代码一段
- 使用C++设计一个类,该类最多能被实例化3次且不能被继承
- 设计模式:策略模式(对象的某个行为,在不同的场景中,有不同的实现算法)
- 需要为你的SaaS改变走向市场策略吗?本文介绍了ISV怎样使用Windows Azure实现它
- Delphi 接口使用中,对象生命周期管理,如何释放需要注意的问题
- Spring系列之-Spring IOC容器设计:Spring实例化对象
- double由于是双精度,所以比较大小不能直接用>,<或者=,需要使用BigDecimal,具体看例子
- 使用JDBC将查询结果集保存为对象时需要注意的问题
- 使用Telnet时不能访问需要
- Java不能使用New去创建对象的情况
- 没有躲过的坑--抽象类不能实例化对象(但是你明明定义的不是抽象类)
- Java中main方法中为什么不能直接创建实例化内部类对象
- 学习设计模式需要了解的面向对象知识
- 在使用ajax需要传递两个对象时问题
- 使用Gson json转对象(list)时,某属性对应json值为空,不能转成功
- 如何使用ruby去实例化1个autoit对象
- 使用 final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
- 图像算法中的设计模式(一):使用策略模式设计算法
- Effective Java(用函数对象表示策略、优先使用静态成员类)
- 设计模式--spring源码中使用策略模式(Strategy Pattern)