C++——构造函数

编译器不会主动生成构造函数,只有定于的时候才会生成。


构造函数与类名相同,可以有参数,不能有返回类型。


没有定义构造函数时,编译器会自动生成构造函数。

当类实例化出对象时

构造函数的作用为初始化对象,所以对象生成时就会调用构造函数。

class Test_a

{

public:

Test_a();

};


Test_a::Test_a()

{

cout << "构造函数";

}

int main()

{

Test_a cl_1;//会自动执行构造函数

}


构造函数和其他函数一样都可以进行重载。

class Test_a

{

public:

Test_a();

Test_a(int i);

};


Test_a::Test_a()

{

cout << "构造函数";

}

Test_a::Test_a(int i)

{

cout << "重载构造函数" << i;

}

int main()

{

Test_a cl_1(1);//会按照参数的传入状态执行构造函数

Test_a *cl_2=new Test_a(1);//使用类指针时同样会执行构造函数。

}

构造函数在对象数组中的使用

class Test_a

{

public:

Test_a();

Test_a(int i,int j);

};


Test_a::Test_a()

{

cout << "构造函数";

}

Test_a::Test_a(int i,int j=10)

{

cout << "重载构造函数" << i<<j;

}

int main()

{

Test_a a[3]={Test_a(),Test_a(2,5),Test_a(3)};//使用类指针时同样会执行构造函数。

Test_a *b[3] = { new Test_a,new  Test_a(1),new Test_a(2) };//效果与上相同

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目类型 a.C++与C差异(1-18) 1.C和C++中struct有什么区别? C没有Protection行为...
    阿面a阅读 7,707评论 0 10
  • //出自51博客:www.Amanda0928.51.com 第一章 一、选择题 1.B; (typedef ,t...
    Damongggggg阅读 11,183评论 0 1
  • 高艳峰 信阳 网络中级九期 坚持分享第156天 2018-09-01 昨晚的读书会探讨了应对问句的魅力,因...
    gyf16阅读 158评论 0 0
  • 时间如梭,转眼间今天已经是参见参加第三期训练营的第21天,也是最后一天,仿佛昨天才刚刚参加完开营仪式,可是...
    5队小敏阅读 294评论 0 0
  • 2018.4.17 一、肯定法 1、 准备吃饭了 儿子:妈,电视摇控呢?(找了一圈很不耐烦了) 我:我下午都没看到...
    文娜_阅读 176评论 0 0