- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++程序设计 第三章面向对象的程序设计 本章导读 掌握类与对象的概念,类与对象的定义方法及二者间的区别。 掌握类的成员函数的定义方法、保存方法及调用方法。掌握类中成员的访问机制和方法。 了解对象的作用域和生存期。 理解并掌握构造函数、析构函数、拷贝构造函数、默认构造函数和缺省参数的构造函数的含义、定义方法以及在对象的构造和撤消中的作用。 理解并掌握当一个类的对象作为另一个类的数据成员时,利用初始化表调用构造函数的方法、构造函数的执行顺序。 本章导读 理解继承的概念和意义,理解单一继承、多重继承。理解并掌握派生类构造函数的编写要求,以及派生类对象的构造过程和机理。 掌握虚函数和多态性的概念,掌握虚函数的定义方法、调用方法及其在实现多态性方面所起到的作用。了解纯虚函数与抽象基类的概念。 了解类的静态成员(静态数据成员和静态成员函数)的概念、定义方法及其作用。 了解友元函数与友元类的概念、定义方法及其作用。 了解运算符重载及在程序中实现运算符重载的方法。 了解模板的概念,在程序中如何定义类模板和函数模板。 3.1 类与对象的定义 类和对象是面向对象程序设计(OOP)的两个最基本概念。所谓对象就是客观事物在计算机中的抽象描述;类是对具有相似属性和行为的一组对象的统一描述。 3.1.1 类的定义 C++的类是在结构体的基础上扩充而来的。类是把各种不同类型的数据(称为数据成员)和对数据的操作(成员函数)组织在一起而形成的用户自定义的数据类型。 C++中,类定义包括类说明和类实现两大部分。说明部分提供了对该类所有数据成员和成员函数的描述,而实现部分提供了所有成员函数的实现代码。 3.1 类与对象的定义 类定义的一般形式为: class 类名 {private: 数据成员或成员函数 protected: 数据成员或成员函数 public: 数据成员或成员函数 };? 各成员函数的实现代码 3.1 类与对象的定义 说明: 1. class是定义类的关键字,类名由用户自己定名,必须是C++的有效标识符,但一般首字母大写。 2. 大括号的部分是类的成员(数据成员和函数成员),它们分成三部分,分别由private、public、proctected三个关键字后跟冒号来指定。这三部分可以任何顺序出现,且在一个类的定义中,这三部分并非必须同时出现。 (1)如果数据成员或成员函数在类的private部分,那么在类之外是不能存取的,只有类中的成员函数才能存取private的数据成员和成员函数。 (2)在一个类的public部分说明的数据成员或成员函数可被程序中的任何函数或语句存取,public成员多为成员函数,用来提供一个与外界的接口,外界只有通过这个接口才可以实现对private成员的存取。 3.1 类与对象的定义 (3)在类的protected部分说明的数据成员和成员函数是不能在类之外存取的,只有类的成员函数及其子类(派生类)可以存取protected的成员。 (4)当定义类时,当未指明成员是哪部分时,默认是属于private成员,但一般不要采用默认形式。 如:下例中定义描述图书的类定义 class Record { private: //private成员 char bookname[20]; //数据成员bookname, // 用于表示图书的名称 int number; //数据成员number,表示图书编号 3.1 类与对象的定义 public: //public成员 void regist(char *a,int b); //成员函数regist,用于给 //各数据成员赋值 void show(); //成员函数show,显示各数据成员的值 }; 要特别注意,在类的定义中,类的说明部分的右边大括号后面必须有一 “;”. 根据类的定义,可看出:类是实现封装的工具,所谓封装就是将类的成员按使用或存取的方式分类,有条件地限制对类成员的使用,而封装是通过public和private与成员函数实现的。private的成员构成类的内部状态,public的成员则构成与外界通信的接口,通过public的成员函数来使用private的数据成员,从而在C++中实现了封装。 3.1 类与对象的定义 3.1.2 成员函数的定义 类中的成员函数可以在以下两处定义: (1)将成
文档评论(0)