正在阅读:『21天精通C++』第二周学习笔记(2-3)『21天精通C++』第二周学习笔记(2-3)

2004-02-14 09:34 出处:PConline 作者:雷神 责任编辑:zwg
作者:雷神 转载请联系作者 第十三天:构造函数是成员函数。   当对对象数据处理结束后可以用析构函数以自定义的方式将其清除。析构函数是用来清除数据的特殊成员函数。   记住:构造函数和析构函数是进行对象数据的创建,初始化,清除工作的成员函数,可以重载构造函数,使一个类不止具备一个构造函数,因有时需要以这些方法中的某一种分别创建不同的对象。不能重载析构函数。   构造函数作为成员函数和类有相同的名字。例:一个类名为:aClass,构造函数就是aClass()。构造函数没有返回值,而且不能定义其返回类型,void也不行。析构函数同样使用这一点。当编写重载函数时,只有参数表不同,通过比较其参数个数或参数类型可以区分两个重载函数。 //包含三个构造函数的类头 class Children{ char name[25]; int age; float Weight; public: void prData(void); char * getname(void); int getage(void); float getWeight(void); Children(void);//三个构造函数的声明; Children(int,float); Children(char *,int,float); ~Children();//析构函数 };   析构函数作为类的成员函数也具有和类相同的名字,不同的是在函数其前多了一个~符号。名为aClass的类的析构函数~aClass()。一个类只能有一个析构函数,析构函数为成员函数没有参数,没有返回值,不能重载。   如果构造函数为数据成员分配了内存空间,那么析构函数做的就是释放内存。只要变量在其作用域范围之内,其值都是有效的。   VC++在定义变量时调用构造函数,在变量出了作用域时调用析构函数。时机是自动的。   构造函数和析构函数应该是公用成员函数。   构造函数原型可以带缺省参数。但不能和空参数同时在不带参数的情况下使用。   当定义对象数组时,编写构造函数和析构函数。当创建数组时,VC++用构造函数构造对象数组中的每一个元素。而在出了作用域要清除数组时,由析构函数来释放所有对象。   创建包含指针成员的对象时,应重灾赋值操作符的函数和拷贝构造函数。
键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品