一、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++编译器会自动给出一个缺省的析构函数。