- 1、本文档共107页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C类的解释
面向对象
;用面向对象的眼光考察整数对象:
如何描述——数据
有哪些功能——运算;本章内容;4.1 类与对象;2个整数加运算
画个闹钟
2个复数加运算
画个幽灵;C++类的定义;class CGoods{
//attributes ,data members
char Name[21]; //商品名
int Amount; //商品数量
float Price; //单价
float Total_value; //总价
public : // functions ,function members
void RegisterGoods(char[],int,float);//输入数据
void CountTotal(); //计算总价
void GetName(char[]); //读取商品名
int GetAmount(); //读取商品数量
float GetPrice(); //读取商品单价
float GetTotal_value();//读取商品总价
}; ;;access specifier:
public:类以外可访问。
private:类以外不能访问。
protected: 介于前两者之间,派生类可访问。 ;创建对象(定义对象)——像定义变量一样
CGoods Car,Watch;
;【例4.1】商品类对象应用实例;;;如何封装对象
通用对象——属性与操作尽量完备以满足通用性。
非通用对象——从关注的属性和操作出发,能够满足特定使用要求即可。;对象存储: ;图4.2 各对象的代码区共用的方案;*4.2 从面向过程到面向对象 (阅读);;;4.3、4.4 构造函数和析构函数;;构造函数特征:
1.函数名与类名相同。
2.构造函数无函数返回类型说明。注意是什么也不写,也不可写void!
3.在程序运行时,当新的对象被建立,该对象所属的类的构造函数自动被调用,在该对象生存期中也只调用这一次。(一个对象仅初始化一次)
4.构造函数可以重载。严格地讲,说明中可以有多个构造函数,它们由不同的参数表区分,系统在自动调用时按一般函数重载的规则选一个执行。;4.3.1 构造函数的定义与使用;4.3.1 构造函数的定义与使用 ;4.3.1 构造函数的定义与使用 ;4.3.2 析构函数的定义 ;4.4 引用与复制构造函数 ;4.4.1 引用 ;4.4.1 引用 ;4.4.1 引用 ;函数名、返回值
重载特性
参数有默认值的默认构造函数、带缺省参数的默认构造函数
何时被调用,被谁调用; Complex c1(3,5); //调用相应构造函数,初始化对象
拷贝构造函数
——用对象初始化对象
Complex c2(c1); //调用拷贝构造函数,用c1初始化c2
Complex c2=c1; //作用同上
;析构函数;4.4.3 成员对象与构造函数;;构造函数和析构函数的调用规则
——何时创建对象,何时调用构造函数
何时析构对象,何时调用析构函数; 4.5 运算符的重载;;——引用做参数意在提高空间效率。
——const修饰的参数称为只读参数(不能修改),意在提高参数安全性。如果在函数体中对该参数赋值,将提示编译错误。;class Complex {
……;
friend Complex operator + (Complex,Complex);
};
Complex operator + (Complex d , Complex c ){
Complex t;
t.real=d.real+c.real; t.im=d.im+c.im;
return t;
};(1)“=”运算符——系统有缺省定义
Complex Complex::operator = (Complex c)
// { re=c.re; im=c.im; return *this; } ;(2)“++”运算符——运算符前置和后置;(3)类型转换函数——将一个类的对象转换为另一种类型的数据; 2.??重载双目运算符时,成员方式1个参数,友元方式2个参数
重载单目运算符时,成员方式无参, 友元方式1个参数;运算符;4.6 友元 ;;4.7 静态成员 ;4.7.1 静态数据;4.7.2 静态函数成员(选读);4.8 结构;struct Inventory{ //库存货物
char description[15] ;
文档评论(0)