- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南邮C第3章-类和对象讲述
面向对象程序设计及C++ 主讲: 第3章 类和对象 本章作业 作业本:P107页~ P113页:一、二(2、4) 、三(1、2、5)、四(1、4) 本章内容提要 类的定义 对象的定义及使用 构造函数与析构函数 静态成员 对象成员 常类型 友元 本章内容安排 3.1 由结构到类 3.2 对象的定义及使用 3.3 构造函数与析构函数 3.4 类的几种特殊成员 3.5 友元 3.6 对象数组、对象指针和对象引用 3.7 有关对象的形式参数 3.8 本章小结 3.1 由结构到类 struct Point {private: double x,y; public: void SetPoint(double newx,double newy); //设置坐标值 double GetX(); //提取x坐标值 double GetY(); //提取y坐标值 }; 3.1.2 C++语言中类的定义 类是面向对象程序设计的核心,利用它可以实现对象的抽象、数据和操作的封装以及信息的隐藏。在面向对象程序设计中,首要任务是类的设计和对象的创建。 类是对具有相同属性(数据)和行为(操作、方法)的一组对象的抽象。 C++语言中定义类的一般格式如下: class 类名 { [private:] 私有数据成员和成员函数 protected: 保护数据成员和成员函数 public: 公有数据成员和成员函数 }; 例3.1的关于位置的结构体struct point可以用类形式改写 class Point {private: //private可以缺省 double x,y; //数据成员 public: //成员函数 void SetPoint(double newx,double newy) { x=newx; y=newy; } double GetX() { return x; } double GetY() //成员函数,提取y变量值 { return y; } }; //切记分号不可省略 进行类的定义时应注意以下几点。 (1)在类的定义中不能对数据成员进行初始化。 class Point { private: //private可以缺省 double x=4,y=5; //数据成员 ……. } (2)类的任何成员都必须指定访问属性,一般情况下将成员函数定义为公有成员,为了体现对数据的封装性,将数据成员定义为私有成员或保护成员。 (3)类定义中的属性出现顺序无严格限制,甚至可以交叉出现 (4)数据成员可以是任何数据类型,但是不能用自动(auto)、寄存器(register)或外部(extern)进行存储类别的说明。 (5)类定义必须以分号“;”结束。如果丢失“;”符号,编译器会认为类定义没有结束,造成编译错误。 3.1.3 访问属性 3.1.4 类成员函数的定义 成员函数的定义通常采用两种方式。 第一种:将成员函数定义在类的内部,使其自动成为内联函数。 如例3.2、3.3,请在VC++下运行 第二种是在类定义中只给出成员函数的原型,而成员函数的定义放在类的外部。 类外定义的一般形式如下: 函数返回类型 类名::成员函数名(形式参数表) { //函数体 } 3.2 对象的定义及使用 类作为一种类型在程序中只有通过定义该类型的变量——对象,才能发挥作用 对象定义的一般格式如下: 类名 对象名1,对象名2,……, 对象名n; 例如:Point A,B; 3.2.1 定义类的对象 定义类的对象可以有两种方式: 一种是在定义类的同时给出类的对象,如例3.3中A、B对象的定义 另一种是在类定义结束后,按类名 对象名形式给出 NOTE:类定义仅提供该类的类型定义,不占用内存空间,只有在定义了类的对象之后,编译系统才会给对象在内存中分配相应的内存空间。 3.2.2 对象中成员的访问 访问的方式有两种:圆点访问形式和指针访问形式 注意:类中互访直接使用成员名 对象只能用前一种方式访问成员,而指向对象的指针用两种方式都可以访问。 3.2.2 对象中成员的访问 1.圆点访问形式就是采用成员运算符“.”,其一般格式如下: 对象名.成员 或 (*指向对象的指针).成员 例如: Date today,*t; to
文档评论(0)