更新时间:2023-08-28 15:21:25
你们好,最近小艾特发现有诸多的小伙伴们对于构造函数和析构函数,构造函数这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。
1、 双击或右击鼠标打开桌面上的DEVc软件并使其运行。Dev-C是一个入门级的C/C集成开发环境(IDE),非常适合刚开始学习C的学者在电脑Windows窗口的运行环境下使用。
2、 这个软件非常免费,源代码是按照GPL许可协议分发的。它极大地集成了许多免费软件,如GCC编译器,GDB调试器和MinGW的AStyle格式管理器。非常试用,而且界面分类清晰,功能非常强大。
3、 单击该文件并选择新的源代码。此时,新创建的代码文本仍未命名,它是一个空的已命名文件。下面,我们可以通过界面左上角的文件选项,选择保存为电脑中的任意磁盘。边肖下次能更好地找到文件。
4、 我把它放在我电脑的桌面上。当然,你可以根据自己的需求选择任何磁盘。
5、 类的初始化函数
6、 生成对象时:自动调用构造函数。
7、 每次删除一个类的对象,都会自动调用执行。
8、 目的是消除对象的影响。例如,释放对象中指针成员所指向的内存空间。
9、 示例:
10、 StructDoctorVisit {//记录int年月日的健康检查结果。
11、 bool status;
12、 DoctorVisit * next;
13、 }’
14、 类CMan {//用于跟踪一个人的健康私有:
15、 char SZ name[20];//区分不同的人DoctorVisit * healthRecords//历次体检结果
16、 int recordLen//公开了多少体检结果:
17、 彩车高度、重量;//保存一个人的身高体重信息CMan(char * name);//构造函数
18、 CMan(char *name, DoctorVisit *visitList);//构造函数 void setName();
19、 int value figure();//判断一个人的体重是否正常。
20、 Doctor visit getheavyweight (int number); //Check the results of the first physical examination.
21、 ~ CMan();//析构函数
22、 };
23、 与类名同名的成员函数,可以有参数但没有返回值(不接受void)。它的功能是初始化一个对象,比如给一个成员变量赋一个初始值。
24、 对象生成时构造函数自动被调用。
25、 如果定义类时没写构造函数,则编译器生成一个缺省的无参数的构造函数。缺省构造函数无参数,什么也不做。
26、 如果定义了构造函数,则编译器不生成缺省的无参数的构造函数。
27、 为类编写构造函数是好的习惯,能够保证对象生成的时候总是有合理的值。
28、 一个类可以有多个构造函数,各个构造函数的参数不同
29、 成员函数的一种
30、 名字与类名相同,在前面加‘~’ 没有参数和返回值
31、 一个类最多只能有一个析构函数。
32、 析构函数对象消亡时即自动被调用。可以定义析构函数来在对象消亡前做善后工作,比如释放分配的空间等。
33、 如果定义类时没写析构函数,则编译器生成缺省析构函数。缺省析构函数什么也不做。
34、 如果定义了析构函数,则编译器不生成缺省析构函数。
35、 class Complex {
36、 private :
37、 double real, imag;
38、 public:
39、 void Set( double r,double i);
40、 }; //缺省构造函数。
41、 Complex c1;//构造函数被调用
42、 Complex * pc=new Complex;//构造函数被调用
43、 private :
44、 double real,imag; public:
45、 Complex( double r, double i=0);
46、 }; //定义了一个构造函数。
以上就是构造函数这篇文章的一些介绍,希望对大家有所帮助。