摘要: 面试中可能遇到让设计一个无法被继承的类。最简单的实现是将该类的构造函数设置为私有的,然后通过静态成员函数调用私有构造函数实例化对象,这样的类确实不可继承,但是使用起来非常不方便,必须使用静态成员实例化对象,而且对象存储在堆中,无法像一个普通的类一样的被使用。最佳的设计是结合私有构造函、友元、虚拟继承 阅读全文
posted @ 2017-08-06 17:25 wxquare 阅读(931) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 3 enum CTYPE {PRODUCTA,PRODUCTB}; 4 class Product{ 5 public: 6 virtual void func() = 0; 7 virtual ~Product(){}; 8 }; 9 10 class ProductA : public Product{ 11 public: ... 阅读全文
posted @ 2017-08-06 17:24 wxquare 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 4 std::mutex mtx; 5 class Singleton { 6 private: 7 Singleton() {} 8 Singleton(const Singleton& a); 9 Singleton& operator=(const Singleton&); 10 sta... 阅读全文
posted @ 2017-08-06 17:24 wxquare 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 3 class Subject; 4 5 class Observer{ 6 public: 7 virtual ~Observer(){}; 8 virtual void update(Subject * sub){}; 9 protected: 10 Observer(){}; 11 12 }; 13 14 cla... 阅读全文
posted @ 2017-08-06 17:20 wxquare 阅读(520) 评论(0) 推荐(0) 编辑