作用: 初始化类中的私有变量数据,这样可以使得每个类的初值不一样
形式:
1、函数名与类的名字一样,没有返回值,可以有参数
2、这个函数是不能被调用的,系统会自动调用(生成变量对象时会调用)
3、允许为内联函数、重载函数、带默认形参值的函数
4、如果一个类中没有定义构造函数,则系统会自动生成一个默认构造函数,这个默认构造函数是无参构造函数
5、如果类中定义的构造函数,则会覆盖系统会自动生成一个默认构造函数
6、构造函数可以重载(多态), 函数名相同,参数不一样,在C++ 中被认为是不同的函数,在C中语法不通过
实现:
#include"iostream"
using namespace std;
class A
{
private:
int a;
public:
A()
{
int a = 10;
cout<<"constructor function1 a ="<< a << endl;
}
A(int b)
{
a = b;
cout << "constructor function 2 a ="<< a << endl;
}
~A()
{
cout << "destructor function "<< endl;
};
};
int main()
{
A var;
A var1(11);
A *p = new A();
//delete p;
return 0;
}