如果类中某个成员函数的名称与类名称相同,我们称这个函数是构造函数。构造函数不能有返回值,甚至不能有return语句。
简单地说,构造函数是这样一种函数,当一个对象被建立时,程序就会自动调用这个类的构造函数为这个对象进行初始化。
C++Builder允许定义多个使用不同参数列表的构造函数。这里有两种特殊的构造函数,默认构造函数和复制构造函数。默认构造函数不带任何类型的参数,而复制构造函数带有一个参数,该参数的类型为一个对相同类的实例对象的引用。
在下面的例子中,我们定义了一个类OutClass,那么当我们在程序中说明OutClass类的对象theOutClassl和theOutClass2时,程序就自动调用类中说明的构造函数theOutClass1和theOutClass2进行初始化。这里有两个成员构造函数,一个带参数,一个不带参数。theOutC~lassl调用的是不带参数的构造函数,而theOutClass2调用的是带参数的构造函数,这就决定了它们初始化结果不同。
定义构造函数。
//outClass.h定义类
class OutClass
{
private:
//私有成员
int i;
public:
//构造函数
outClass();
outClass(int n);
)
//OutClass.cpp成员函数的实现
:#include<iostream.h>
#include\"OutClass.h\"
outClass::OutClass()
{
i=0:
cout<<”默认初始化i=\"<<i<<endl \"
}
outClass::OutClass(int n)
{
i=n;
cout<<”初始化i=“<<”<<i<<endl;
)
//以下是程序调用
void main()
{
OutClass theOutClassl;
OutClass theOutClass(1000);
)
程序的运行结果为:
默认初始化i=0
初始化i=1000