下载此文档

C 类的总结.docx


文档分类:外语学习 | 页数:约25页 举报非法文档有奖
1/25
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/25 下载此文档
文档列表 文档介绍
C++类(Class)总结 一、C++类的定义   C++中使用关键字 class 来定义类,其基本形式如下:class类名{public://行为或属性 protected://行为或属性private://行为或属性}; 示例:   定义一个点(Point)类,具有以下属性和方法:   ■属性:x坐标,y坐标   ■方法:,y的坐标值;。实现代码:classPoint{public:   voidsetPoint(intx,inty);   voidprintPoint(); private:   intxPos;   intyPos;}; 代码说明:   上段代码中定义了一个名为Point的类,具有两个私密属性,int型的xPos和yPos,分别用来表示x点和y点。   在方法上, setPoint 用来设置属性,也就是xPos和yPos的值; printPoint 用来输出点的信息。   1数据抽象和封装   抽象是通过特定的实例抽取共同特征以后形成概念的过程。一个对象是现实世界中一个实体的抽象,一个类是一组对象的抽象。   封装是将相关的概念组成一个单元,然后通过一个名称来引用它。面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。 2类定义   几个重要名词:(1)类名   遵循一般的命名规则;字母,数字和下划线组合,不要以数字开头。(2)类成员   类可以没有成员,也可以定义多个成员。成员可以是数据、函数或类型别名。所有的成员都必须在类的内部声明。   没有成员的类是空类,空类也占用空间。class People{};sizeof(People)=1;   (3)构造函数   构造函数是一个特殊的、与类同名的成员函数,用于给每个数据成员设置适当的初始值。(4)成员函数   成员函数必须在类内部声明,可以在类内部定义,也可以在类外部定义。如果在类内部定义,就默认是内联函数。 3类定义补充可使用类型别名来简化类   除了定义数据和函数成员之外,类还可以定义自己的局部类型名字。   使用类型别名有很多好处,它让复杂的类型名字变得简单明了、易于理解和使用,还有助于程序员清楚地知道使用该类型的真实目的。class People{ public:    typedefstd::string phonenum; //电话号码类型    phonenum phonePub;//公开号码private:       phonenum phonePri;//私人号码};   成员函数可被重载   可以有多个重载成员函数,个数不限。 内联函数   有三种:(1)直接在类内部定义。(2)在类内部声明,加上inline关键字,在类外部定义。(3)在类内部声明,在类外部定义,同时加上inline关键字。注意:此种情况下,内联函数的定义通常应该放在类定义的同一头文件中,而不是在源文件中。这是为了保证内联函数的定义在调用该函数的每个源文件中是可见的。访问限制   public,private,protected 为属性/方法限制的关键字。类的数据成员中不能使用auto、extern和register等进行修饰,也不能在定义时进行初始化   如 intxPos=0; //错;例外:     静态常量整型(包括char,bool)数据成员可以直接在类的定义体中进行初始化,例如:     onstintia=30;  4类声明与类定义类声明(declare)class Screen;   在声明之后,定义之前,只知道Screen是一个类名,但不知道包含哪些成员。只能以有限方式使用它,不能定义该类型的对象,只能用于定义指向该类型的指针或引用,声明(不是定义)使用该类型作为形参类型或返回类型的函数。voidTest1(Screen&a){};voidTest1(Screen*a){};类定义(define)   在创建类的对象之前,必须完整的定义该类,而不只是声明类。所以,类不能具有自身类型的数据成员,但可以包含指向本类的指针或引用。class LinkScreen{public:      Screen window;      LinkScreen*next;      LinkScreen*prev;}; //注意,分号不能丢   因为在类定义之后可以接一个对象定义列表,可类比内置类型,定义必须以分号结束:class LinkScreen{/*...*/};class LinkScreen{/*...*/}scr1,scr2;    5类对象   定义类对象时,将为其分配存储空间。   Sales_itemitem; //编译器分配了足以容纳一个Sales_item对象的存储空间。item指的就

C 类的总结 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数25
  • 收藏数0 收藏
  • 顶次数0
  • 上传人梅花书斋
  • 文件大小24 KB
  • 时间2020-02-12
最近更新