首页 > 代码库 > 构造函数
构造函数
一。构造函数:当创建一个对象时,构造函数会被自动调用,主要是用来对数据成员进行初始化和其他需要处理的事务。
二。构造函数的性质:
1.构造函数与类名相同且不可以有返回值;
2.可以对构造函数进行重载,但是每个构造函数必须拥有各不相同的函数署名;
3.若C是一个类,可以定义任意维数的C对象数组,若C有默认构造函数,数组中每一个C对象都会调用默认构造函数;
三。什么时候编译器不会为类生成一个共有的默认构造函数呢?
1.一个类显示的声明了任何构造函数;
2.一个类声明了一个非公有的默认构造函数;
四。拷贝构造函数创建一个新的对象,此对象是另外一个对象的拷贝品。
1.拷贝构造函数的两种原型:Person(Person&),Person(const Person&);两种原型的参数类型都是引用;
2.拷贝构造函数可以有多于一个的参数,但是第一个以后的所有参数必须有默认值;
例如:Person(const Person&p,bool married = false);
3.若类的设计者不提供拷贝构造函数,编译器会自动生成一个,将源对象的所有数据成员的值逐一赋给目标对象的数据成员。
五。1.若一个类包含指向动态存储空间指针类型的数据成员,就必须要为这个类设计构造函数。
2.由于默认的拷贝构造函数只会拷贝类的成员,因此,拷贝的类和源类指向同一个空间;
3.我们自己设计的拷贝构造函数,确保二者指向不同的存储区域,虽然两块存储区域中保存着相同的字符串。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。