C++面向对象程序设计 - 第2章
作者:
Felix_16
,
2024-03-26 11:10:50
,
所有人可见
,
阅读 8
构造函数
属于成员函数的一种;名字与类名相同,可以有参数,但不能有返回值
作用:为对象进行初始化,如给成员变量赋初值
在对象生成的时候,构造函数会被自动调用;而对象生成之后,就再也不能调用其构造函数;一个类可以有多个构造函数
若没定义构造函数,则系统会自动生成一个无参的构造函数
为什么需要构造函数?
构造函数帮助执行初始化操作,一旦有构造函数,就不需要再写一个初始化函数了
class Complex:
{
private:
double real, imag;
public:
Complex(double r, double i = 0); // 构造函数
};
Complex::Complex(double r, double i) // 构造函数的代码
{
real = r, imag = i;
}
Complex c1; // error(缺少构造函数的参数)
Complex *pc = new Complex; // error(没有参数)
Complex c1(2); // ok(根据定义的构造函数,第二个参数可以缺省掉)
Complex c1(2,4), c2(3,5); // ok
Complex *pc = new Complex(3,4); // ok
一个类中可以有多个构造函数,只要它们之间参数个数或类型不同即可
this指针