第三章类和对象进一步说明.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第三章类和对象进一步说明

第3章 类与对象的进一步讨论 3.1构造函数 3.2析构函数 3.3调用构造函数和析构函数的顺序 3.4对象数组 3.5对象指针 3.6共用数据的保护 3.7对象的动态建立和释放 3.8对象的赋值和复制 3.9静态成员 3.10友元 3.11类模板 3.1 构造函数 3.1.1 对象的初始化 如果定义一个对象,而程序未对其数据成员进行初始化的话,这个对象的值也是不确定的,系统为对象分配内存时,保持了内存单元的原状,它就成为数据成员的初值。 3.1.2 构造函数的作用 构造函数用于为对象分配空间和进行初始化,它属于某一个类,可以由系统自动生成。 构造函数是一种特殊的成员函数,在程序中不需要写调用语句,在系统建立对象时由系统自觉调用执行。 构造函数的作用是: 为对象分配空间; 对数据成员赋初值; 构造函数的特点: (1)构造函数的名字与它的类名必须相同。 (2)它没有类型,无返回值。 (3)它可以带参数,也可以不带参数。 定义构造函数: 类名(形参表); 类外定义构造函数: 类名::构造函数名(形参表) 类名 构造函数的使用: (1)当函数执行到对象定义语句时建立对象,此时就要调用构造函数,对象就有了自己的作用域。 (2)构造函数没有返回值,因此不需要在定义中声明类型。 (3)构造函数不需要显式地调用,构造函数是在建立对象时由系统自动执行的,且只执行一次。构造函数一般定义为public。 (4)在构造函数中除了可以对数据成员赋初值,还可以使用其他语句。 (5)如果用户没有定义构造函数,C++系统会自动生成一个构造函数,而这个函数体是空的,不执行初始化操作。 3.1.3 带形参数的构造函数 带参数的构造函数在建立对象时,以特定的数据初始化对象的数据成员。 构造函数的首部的一般格式为: 构造函数名(类型 形参1,类型 形参2,…) 在定义对象时指定实参,定义对象的格式为: 类名 对象名(实参1,实参2,…); 例:定义带形参的构造函数 Box::Box( int h, int w, int len) { height = h; width=w; length= len; } 定义对象: Box box1(12,25,30); … Box box2(15,30,21); 例:定义带形参的构造函数 Box::Box( int h, int w, int len) { height = h; width=w; length= len; } 定义对象: Box box1(12,25,30); … Box box2(15,30,21); 3.1.4 用参数初始化表对数据成员初始化 参数初始化表的方法对数据成员初始化,不必在构造函数内对数据成员初始化,在函数的首部就能实现数据成员初始化。 格式: 函数名(类型1 形参1,类型2 形参2): 成员名1(形参1),成员名2(形参2) { } 定义对象的格式依然是带实参的形式: 类名 对象名( 实参1,实参2); 例:定义带形参初始化表的构造函数 Box::Box( int h, int w, int len): height(h), width(w), length(len) { } 定义对象: Box box1(12,25,30); … Box box2(15,30,21); 例:定义带形参初始化表的构造函数 Box::Box( int h, int w, int len): 定义对象: Box box1(12,25,30); … Box box2(15,30,21); //使用带参数的构造计算两个长方柱的体积 #include <iostream> using namespace std; class Box {public: Box(int,int,int); int volume(); private: int height; int width; int length; }; Box::B

文档评论(0)

wannian118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体刘**

1亿VIP精品文档

相关文档

相关课程推荐