基本概念
成员函数的一种
- 名字与类名一样,可传参,没有返回值(void)也不行
- 作用是对对象进行初始化,如给成员变量赋值
- 如没有,编译器会自动生成一个无参的默认构造函数
class Complex {
private:
double real, image;
public:
Complex(double r, double i = 0);
};
Complex a; // error
Complex *pa = new(3, 4) // ok
数组调用
class Test {
public:
Test(int n); // (1)
Test(int n, int m); // (2)
Test(); // (3)
};
Test arr1[3] = {1, Test(1,2)}; // 分别用(1)(2)(3)初始化
Test * pArr[3] = {new Test(4), new Test(1,2) }; // 只生成了两个对象,调用两次构造函数