- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
类和对象的笔记
?在输出数据的公有成员函数Output()中,必须将 形参定义为引用类型变量
形参:全称为形式参数是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数.
作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参.没有形参的函数在形参表的位置应该写void.main 函数也可以有形参和返回值,其形参也称为命令行参数,由操作系统在启动程序时初始化,其返回值传递给操作系统.
形参和实参的区别:
1。函数的形参列于函数声明中,在函数定义的函数体内使用。当函数调用时,形参(任何种类的)是一类将被填充的空白或是占位符。
2。实参是用来填充形参的。当函数被调用时,实参列在函数名后面的括号里。执行函数调用时,实参被传递给形参。
3。传值调用和引用调用指的是用于参数传递过程中的一种机制。传值调用中,只使用了实参的值。传值调用机制里,形参是一个局部变量,其初始值为相应实参的值。在引用调用机制里,以实参变量取代形参,因此任何发生在形参上的改变实际上都发生在实参变量上。
实参就是传过去的值 改变了 ? 他原来的数值没有变
形参只是把地址传过去,值变了 他原来值也变了
、类 默认的访问权限为私有
、在类体外定义成员函数的格式为:
类型类名::成员函数名(形参表){函数体}
类体外定义:
定义性说明:void Student::Input(char name){}
、关键字public、protected、private在类中的使用不分先后次序 可使用多次
通常把数据成员定义在类体的前面、成员函数定义在类体的后面
、以为类是一种数据类型,系统并不会为其分配内存空间,SO 定义数据成员时不能对其初始化也不能指定其存储类型
、类和结构体的关系:结构体只是类的一个特例,他们之间唯一的区别就是:在类中,成员的默认存取权限是私有,而在结构体类型中,其成员的默认权限是共有。
SO??只需要描述数据结构是,实用结构体较好
?? ? ?既描述数据又描述对数据的处理方法是使用类为好
用类定义的变量称为:对象?(实例)?对像必须定义后实用
对象的定义格式:Student stu1,stu2;
存储空间的分配:定义类时系统并不为类分配内存空间,仅当用类定义对象时系统蔡伟对象分配内存空间。为对象分配的存储空间大小取决于定义类是所定义的成员类型和数量。创建对象时,类被用做样板
在建立不同对象时,系统只为数据成员分配不同内存空间,而不同对象成员函数则共享统一内存空间
定义对象的三种方式:先定义类再定义对象、定义类同时定义对象、直接定义对象
对象成员的引用:在类外通过对象可以使用公有的数据成员及成员函数。实用的方法是用成员运算符“.”赖志明要访问的成员
对象的赋值运算:同类对象之间能进行的唯一运算就是赋值运算对象2=对象1
?对象作为函数参数是,属于值传送,只能通过函数返回对象值,而不能通过形参返回运算结果。要通过形参返回结果,必须将形参中的对象定义为引用类型变量
再定义对象是可对公有数据成员进行初始化赋值,但不能对私有或保护数据成员进行初始化赋值。私有或保护数据成员只能通过构造函数进行初始化赋值
构造函数:定义对象是,对其数据成员进行初始化
格式类名::构造函数名(形参表)
{
?????构造函数体
}
注意:构造函数的函数名必须与类名相同,且无返回值也不能指定void。在类内定义构造类名::可省略
构造函数可重载(允许定义多个函数),其参数可有可无,也可指定默认值
定义无参构造函数时,对象后不能跟一对空括号
abs()函数为C++中取绝对值函数
默认构造函数只能有一个。也是唯一的。
拷贝构造函数:用类定义对象时,可用拷贝功能的构造函数将另一个已存在对象的数据拷贝到新建的对象中
格式:类名::类名(类名c){函数体}
用new运算符动态定义对象
用new运算符常见对象时,同样也要用自动调用构造函数,动态分配的对象内存空间必须用delete运算符回收
析构函数
用类定义对象时,系统要为对象分配内存空间,当对象结束其生命周期时,系统要回收对象所占的内存空间,(撤销一个对象)
撤销对象回收空间的工作是有析构函数来完成的。不允许重载。
定义格式类名::~类名(){析构函数体}
注意:析构函数名必须与类名相同,并在其前加“~”,以便与析构函数名相区别
在析构函数内要终止程序运行,不能使用exist()函数,只能使用absort()函数?
默认的析构函数什么也不执行
类的构造函数必须包含对对象成员初始化构造函数的调用
this指针:用类定义一个对象时,有系统自动建立指向该对象的指针成为this指针
格式:类名*const ?this = 对象
文档评论(0)