- 1、本文档共54页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
复习串讲(chp2,3,4)
第二章 从结构到类的演变 练习 第三章 函数和函数模板 第四章 类和对象 真题练习 4)成员函数在类体外定义时,须加上类名限定: 类名::函数类型 函数名(参数){ //函数体 } 二、c++中可以自动进行对象初始化的函数—— 函数。 构造 2、当没有为一个类定义任何构造函数的情况下,c++编译器总要自动建立一个不带参数的构造函数。 如有一个类Person,则其默认函数形式为: Person(){} 3、一旦程序员定义了自己的构造函数,系统就不再提供默认构造函数。 1、构造函数名称与 同名,而且 返回值。 类 没有 4、用new运算符产生对象时,new和 一起作用。 构造函数 用new建立的动态对象只能用 删除,以便释放所占空间。 delete 5、一个类可以有 个构造函数; 多 如果一个类有多个构造函数,由于它们 相同但是 不同,所以它们之间是一种 关系。 名称 参数 重载 6、对象定义时,构造函数被自动调用,根据对象定义形式调用不同的构造函数。定义对象未初始化时,则调用 构造函数,定义对象并初始化时,调用 构造函数。(填写“无参”或者“有参”) 无参 有参 三、在使用一个类的对象初始化另一个对象时,调用该类的 函数。 复制(拷贝)构造 赋值构造函数必须使用 作为形式参数。 对象的引用 如果一个类的名字为fun,则其赋值构造函数的原型可以声明为以下两种形式: 或者 。 fun(fun ); fun(const fun ); 赋值构造函数在以下3种情况下被自动调用: 1)当用一个类的对象去初始化另一个对象时; 2)对象做函数参数,进行实参和形参结合时; 3)当函数的返回值是对象时。 四、当一个对象的生存期结束时,系统会自动调用 函数来释放对象所占的内存。 另外,如果一个类在构造函数中使用new运算符动态申请了内存,当改类的对象消失时,也应使用 函数来释放由构造函数分配的内存。 析构 析构 1、析构函数没有参数,没有返回值,对象内存被释放时自动调用。若有一个类fun,写出该类的默认析构函数: 或者 。 2、一个类中只能定义 析构函数, 一个 ~fun(){} ~fun(void){} 3、当用delete删除动态对象时,系统会自动调用 函数。 析构 五、c++规定,当一个成员函数被调用时,系统会自动向它传递一个隐含的参数,该参数是一个指向调用该函数的对象的指针,称为 指针。 this this指针是一个指向对象的指针,假设a是A类的对象,f是A的成员函数,则调用 a.f()时,f函数内的this指针是指向对象a的指针。该指针由系统自动产生(隐含方式)。 This指针是C++实现封装的一种方式。 六、一个类的对象可作为另一个类的数据成员 如: class A {…… }; class B {…… A x; …… }; 七、类和对象的性质(略) 八、对象的结构与连接 1、对象间的静态关系通过对象属性之间的连接反映的,称为 。 实例连接 对象行为之间的动态关系是通过对象行为之间的依赖关系表现的,称之为 。 消息连接和实例连接统称为连接 消息连接 2、对象传递的消息一般由3部分组成: 、 和 。 接收对象名 调用操作名 必要的参数 九、编译指令 1、 指令指示编译器将一个源文件嵌入到带有该指令的源文件中。 #include 2、 指令可以定义标识符及串,在源程序中每次遇到该标识符时,编译器均用定义的串代替之。 #define 在程序的一个地方定义的宏名,如果不想使其影响到程序的其他部分,可以在不再使用时用
文档评论(0)