一、构造函数
构造函数是在类中说明的特殊成员函数,在创建对象时,用指定的值初始化对象的数据成员。它是类的成员函数,系统指定构造函数名必须与类名相同。 构造函数可以带参数,可以重载,并且不能带有返回值,也不能指定void类型。当系统检测用户没有进行重载构造函数时,会自动生成调用缺省构造函数。
例:通过以下程序结果打印进行构造函数的验证:
class A
{
private:
int x;
int y;
public:
A(int a,int b)
{
x= a;
y= b;
}
int sum(void)
{
return (x+y);
}
void set(int a,int b)
{
x = a;
y = b;
}
void printf(void)
{
cout<<"x = "<<x<<endl;
cout<<"y = "<<y<<endl;
}
};
void main(void)
{
A a1(1,2);
a1.printf();
a1.set(2,3);
a1.printf();
return;
}
注意:1.构造函数的函数名必须与类名相同;2.在定义构造函数时不能带有返回值也不能指定void类型;3.一个类可以定义若干个构造函数,但必须满足函数重载原则;4.构造函数可以指定参数缺省;
5.若定义的类要定义(实例化)该类的对象时,构造函数必须是公有的成员函数。如果定义的类仅用于派生其它类时,则可将构造函数定义为保护的成员函数。
函数重载原则:在进行函数重载时,要注意其与原函数在返回类型或形参方面必须有所不同。