标签:c t sp 不同的 初始化 amp 数据 设计 第一个 编译器 字符串
一。构造函数:当创建一个对象时,构造函数会被自动调用,主要是用来对数据成员进行初始化和其他需要处理的事务。
二。构造函数的性质:
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.我们自己设计的拷贝构造函数,确保二者指向不同的存储区域,虽然两块存储区域中保存着相同的字符串。
标签:c t sp 不同的 初始化 amp 数据 设计 第一个 编译器 字符串
原文地址:http://www.cnblogs.com/qglddh/p/3699354.html