c – 不从派生类调用基类构造函数

前端之家收集整理的这篇文章主要介绍了c – 不从派生类调用基类构造函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个基类:
class baseClass  
{  
  public:  
baseClass() { };

};

派生类:

class derClass : public baseClass
    {  
      public:  
    derClass() { };

    };

当我创建一个derClass实例时,会调用baseClass的构造函数.我怎么能阻止这个?

解决方法

做额外的空ctor.
struct noprapere_tag {};

class baseClass  
{  
public:  
  baseClass() : x (5),y(6) { };

  baseClass(noprapere_tag) { }; // nothing to do

protected:
  int x;
  int y;

};

class derClass : public baseClass
{  
public:  
    derClass() : baseClass (noprapere_tag) { };

};

猜你在找的C&C++相关文章