class VString{//默认的存取控制方式就是私有 VString(); VString(char*); VString(string); friend class String; }; class String:virtual VString{ public: String(){ //写你的代码 } String(char*){ //写你的代码 } String(string){ //写你的代码 } };
String无法被继承,因为继承它的类会试图调用VString的私有构造函数。而String是Vstring的友元类,所以能继承VString。
或者用C++11的标准,加入关键词final
Reference
[1].http://ilewen.com/questions/2910
[2].http://blog.csdn.net/lazybin/article/details/8372793
时间: 2024-10-10 14:17:33