码迷,mamicode.com
首页 > 其他好文 > 详细

默认构造函数的作用

时间:2017-06-12 21:08:39      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:显示   声明   mem   默认构造函数   合成   合成默认构造函数   int   default   string   

// 首先定义一个No_default类。

class  No_default

{

public:

   No_default (const string&);  // 声明了一个构造函数,但是却没有默认构造函数!

private:

   int a;

   string b;

};

// 定义第二个类,其中有一个No_default类型的成员。

class  B

{

public:  

    No_default   my_mem;   // 类B也没有构造函数!

};

B  b;                                   //  试图定义一个B类型的对象错误的,因为不能为B合成默认构造函数,因为其中有No_default(没有默认构造函数)类型的成员!

 

class C

{

public:

  C ()  {}                            //  试图定义C的默认构造函数是错误的,因为No-default类的成员c_mem没有初始值!

private:

 No_default  c_mem;

};

 

class D

{

public:

  D (): d_mem(0)  {}                            // 定义了正确的默认构造函数,成员都有初始值(显示地给d_mem初始化为0)! 

private:

 No_default  d_mem;

};

注意: 在类中如果定义了其他构造函数,最好也提供一个默认构造函数!

默认构造函数的作用

标签:显示   声明   mem   默认构造函数   合成   合成默认构造函数   int   default   string   

原文地址:http://www.cnblogs.com/sanerer/p/6994961.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!