4.2 构造函数和析构函数
类是一种用户自定义的数据类型。定义一个类的对象时,编译程序需要为对象分配存储空间,进行必要的初始化工作。在C++(www.cppentry.com)中类的构造函数就是去实现这部分功能。
4.2.1 构造函数
构造函数是一种特殊的成员函数,它主要进行一些初始化工作。构造函数有以下基本性质。
构造函数和类的名字相同。
构造函数不具有返回值。
定义对象时,系统自动调用构造函数。
构造函数是公有函数,但它不可以被显式调用。
【示例4.10】 给出一个构造函数定义的例子,该类在其声明中定义了一个成员函数,函数名称与类名相同。并且该函数没有返回值,即定义了类的构造函数。
- class point
- {
- private:
- int x;int y;
- public:
- float distance()
- {
- return sqrt(x*x+y*y);
- }
- point(int a,int b)
- {
- x=a;y=b;
- }
- }A;
分析:上面的代码首先定义一个类,可以看到,仅仅把上例中的init函数名字换为构造函数的名字,即类名。这个函数就称为构造函数。
创建对象时,构造函数会自动被调用,不用显式调用。当程序员没有定义构造函数时,编译系统会自动生成一个构造函数。构造函数可以带参数,也可以不带参数。当构造函数有参数时,创建对象必须指定构造函数的参数,否则,由于构造函数得不到实参,系统会报错。
【责任编辑:
云霞 TEL:(010)68476606】