构造函数的作用:初始化,为成员变量赋初值。构造函数是类的特殊成员函数,如果没有编写类的构造函数,则由系统自动添加一个不带参数的构造函数,即默认构造函数
定义构造函数:构造函数的名字应与类名同名。并在定义构造函数时不能指定返回类型,即使void类型也不可以。可以设计多个构造函数,编译系统根据对象产生的方法调用相应的构造函数,即构造函数允许重载。在类体外定义构造函数有三种形式:
假设类的成员变量是 x1,x2,·…,xn
<font color="red">类名::类名(形参1,…,形参n):x1(形参1),…, xn(形参n),</font>
类名::类名(形参1,…,形参n)
{
x1 = 形参1;
……
xn = 形参n;
}
类名::类名()
{
x1 = 初始化表达式1;
……
xn =初始化表达式n;
}
【示例】
class A
{
private:
int a, b;
public:
A(int k = 4,int j = 0)
{
a=k;
b=j;
}
~A();
void show ();//析构函数
};
void A::show()
{
cout << "a="<<a<<"b="<< b< endl;
}
A::~A()
{
cout <<"调用析构函数..."<< endl;
}
int main()
{
A *p = new A(1):