知识大全 privte的析构函数和构造函数

Posted 函数

篇首语:将相本无种,男儿当自强。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 privte的析构函数和构造函数相关的知识,希望对你有一定的参考价值。

  C++中是不允许virtual 构造函数的 如果在构造函数前加virtual

  以vc 为例 编译器报错为 inline is the only legal storage class for constructors

  虽然不明白这个跟inline有什么关系 但是错误是肯定的

  构造函数和析构函数都可以是private的 这种情况下编译通过 但是该类无法被实例化 即使继承也不行

  例如

  class A

  

  private:

  A();

  virtual ~A();

  ;

  class B : public A

  

  public:

  B();

  virtual ~B();

  ;

  B b;

  以上代码是编译不通过的 因为B() ~B()分别需要调用A() ~A() 而它们都是private的 所以无法调用

  解决方法只有friend 包括friend class和 friend function 例如可以将A的定义修改如下 就可以实现

  class A

  

  private:

  A();

  virtual ~A();

  friend class B;

  ;

cha138/Article/program/c/201311/11107

相关参考

知识大全 编写类String 的构造函数、析构函数和赋值函数

编写类String的构造函数、析构函数和赋值函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!已知

知识大全 C#中构造函数和析构函数的用法(一)

C#中构造函数和析构函数的用法(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  摘要  构造

知识大全 C#中构造函数和析构函数的用法(二)

C#中构造函数和析构函数的用法(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  声明了一个类

知识大全 C#中构造函数和析构函数的用法(三)

C#中构造函数和析构函数的用法(三)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Bb=new

知识大全 析构函数用于销毁类的实例

  析构函数是通过下面的形式声明的   [attributes]~identifier()destructorbody   其中  attr

知识大全 女程式设计师的求职奋斗史

  不懂虚函数有什么用,不知道除了构造函数,析构函数外还有拷贝函数,还有深浅拷贝之分。每天下班后我没有直接回家,而是留在了单位tel到SUNOS上,开始了我学习unix的计画。我觉

知识大全 构造和析构成员函数

    类有一个特殊的成员函数叫做构造成员函数它通常用于初始化类的数据成员在创建对象时会自动调用类的构造成员函数Java中的构造成员函数必须与该类具有相同的名字另外构造成员函数一般都应用public类

知识大全 JS特殊函数(Function()构造函数、函数直接量)区别

JS特殊函数(Function()构造函数、函数直接量)区别  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 查找 - 散列技术 - 散列函数的构造方法

  散列函数的构造方法  散列函数的选择有两条标准简单和均匀  简单指散列函数的计算简单快速;  均匀指对于关键字集合中的任一关键字散列函数能以等概率将其映射到表空间的任何一个位置上也就是说散列函数能

知识大全 C#默认构造函数的作用

C#默认构造函数的作用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  构造函数主要用来初始化对象