Bootstrap

构造函数析构函数

一、C++模型讨论

方案一:各个对象完全独立的安排内存中的方案。

方案二:各个对象的代码区共用的方案

这个方案是面向对象常用的方案。

二、this指针的作用

对自己设计的类型编译过程:

1、识别类里面的数据成员

2、识别函数原型

3、在函数原型上 加this指针。

4、对函数体进行编译。

this指针:

void RegisterGoods(CGoods * const this,const char *name,int amount,float price);
void RegisterGoods(const char *name,int amount,float price);

this指针并不是对象的数据成员,只有在调动函数方法的时候,this指针才能显现出来。

全局函数没有this 指针。

三、构造函数。

数据成员多为私有的,要对它进行初始化,必须用一个公有函数来进行。同时这个函数应该在且仅在定义对象时自动执行一次。称为构造函数。

构造函数用途:

1、创建对象

2、初始化对象中的属性

3、类型转换

构造函数时特殊的公有成员函数(在特殊用途中构造函数的访问限定可以定义成私有或者保护),其特征如下:

四、析构函数

析构函数的定义当定义一个对象时,C++自动调动构造函数建立该对象并进行初始化,那么当一个对象的生命周期结束时,C++也会自动调用一个函数注销该对象并进行善后工作,这个特殊的成员函数叫做析构函数。

1、析构函数名与类名相同,但在前面加上字符“~”,如:~CGoods

2、析构函数也无返回类型,与构造函数一样,但是析构函数不带任何参数。

3、一个类只有一个析构函数。

4、对象注销 时,系统自动调用析构函数。

5、如果类说明中没有给出析构函数,那么C++编译器会自动给出一个缺省的析构函数。

;