C++构造函数

普通变量可以使用赋值号(=)赋值,但是由于类的数据成员众多,所以使用构造函数用于构造对象。

构造函数也是类的成员函数,除了有成员函数的所有特征外,还有一些不同之处:构造函数的函数名跟类名一样,而且没有返回值。构造函数一般被声明为公有函数,除非我们不允许某个类生成对象则将它声明为private或protected属性。编译器碰到对象声明语句时,会自动生成对构造函数的调用语句,所以我们常说构造函数是在对象声明时由系统自动调用的。

构造函数为成员变量赋值的方式有两种:1.初始化列表 2.在函数体内赋值

在对一般变量初始化时,两种方式并没有太大区别。但是当类的成员变量是另一个类时(嵌套类),只能使用初始化列表初始化。

//例子
class A
{
 A(A em){};//A的拷贝构造函数
};

class B()
{
  B(A elem);
}

B::B(A el):A(el)//由el传给em
{
...
}

PS:拷贝构造函数,拷贝构造函数相当于人工设定,类对象的赋值方式。使对象与对象之间的互相赋值可控。

A test;

//....

A a = A(test);

原文链接: https://www.cnblogs.com/CAION/archive/2012/12/29/2838916.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/73964

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午4:11
下一篇 2023年2月9日 下午4:12

相关推荐