VC++程序设计4(类与对象).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四讲 C++面向对象程序设计(一) 严宣辉 教学提纲 一、教学内容: C++类与对象的定义 构造函数与析构函数 二、学时:两课时 三、教学目的和要求 掌握类的概念及C++中如何定义类和对象 掌握构造函数和析构函的特性与定义方法 四、教学重点和难点 重点:类的定义 难点:构造函数和析构函 五. 教学过程提要 类与对象的定义 构造函数与析构函数 内容提要 3.1 类与对象的定义 C++的类是在结构体(struct)的基础上扩充而来的。类是把各种不同类型的数据(称为数据成员)和对数据的操作(成员函数)组织在一起而形成的用户自定义的数据类型。 C的结构体struct与C++的struct的比较 类的组成: 类定义的一般形式为: class 类名 {public : 数据成员或成员函数 protected: 数据成员或成员函数 private : 数据成员或成员函数 };? //分号是不能少的 【例3-1】:定义并实现类CStudent 例3-1续 说明: 1、class是定义类的关键字,类名由用户自己定名,必须是C++的有效标识符。 2、大括号的部分是类的成员(数据成员和成员函数),它们分成三部分,分别由public、protected、private三个关键字后跟冒号来指定。这三部分可以任何顺序出现。 (1)在一个类的public部分说明的数据成员或成员函数可被程序中的任何函数或语句存取,public成员多为成员函数,用来提供一个与外界的接口,外界只有通过这个接口才可以实现对private成员的存取。 (2)如果数据成员或成员函数在类的private部分,那么在类之外是不能存取的,只有类中的成员函数才能存取private的数据成员和成员函数。 (3)在类的protected部分说明的数据成员和成员函数是不能在类之外存取的,只有类的成员函数及其子类(派生类)可以存取protected的成员。 (4)当定义类时,当未指明成员是哪部分时,默认是属于private成员,但一般不要采用默认形式。 3、要特别注意,在类的定义中,类的说明部分的右边大括号后面必须有一 “;”。 4、定义成员函数的::符号叫作用域运算符,用它来指明哪个函数属于哪个类或哪个数据属于哪个类,所以使用类中成员的全名是:类名::成员名。 类的定义和实现分离 【例3-2】文件 student.h 【例3-2】文件 student.cpp 【例3-2】文件 Ex_32.cpp 例3-2的总结: 3.1.2 对象的定义 3.1.3 访问对象的成员 【例3-3】:文件 Ex_33.cpp 注意: 2、任何对对象私有数据的访问都必须通过向对象发送消息来实现,而且所发送的消息还必须是该对象能够识别和接受的。在C++中,消息发送正是通过公有成员函数的调用来实现的。由于类接口隐藏了对象的内部细节,用户只能通过类接口访问对象,因此,在类设计中必须提供足够的公有接口以捕获对象的全部行为,这正是类设计中的一个最基本的要求。 数据成员和成员函数引用规则: 类封装(encapsulation)的体现 3.1.4 对象赋值语句 【例3-4】 3.2 构造函数与析构函数 3.2.1 构造函数 构造函数的特点 【例3-2】:(续) 文件 student.cpp 加上: 有缺省参数的构造函数 class complex{ private:  double real;  double image; public: complex(double r=0.0,double i=0.0) { real=r; image=i; } double realcomplex() { return real; } …;  }; 3.2.2 析构函数 析构函数2 3.2.3 拷贝构造函数和赋值构造函数 【例3-5】平面点类 point 缺省构造函数 3.2.4 对象成员初始化 可以把一个已定义类的对象作为另一个类的成员。以下方式可以为对象成员初始化: 构造函数名(形参表):对象1(参数表),……,对象n(参数表) 例:[例3-6 Ex_InitMultObject] [例3-6 Ex_InitMultObject] 对象成员的初始化 #include iostream.h class CPoint { public: CPoint(int x, int y) { nPosX = x; nPosY = y; } void ShowPos() { cout当前位置:x = nPosX, y = nPosYendl; } private: int nPosX, nPosY; }; class CSize { public: CS

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档