网站大量收购独家精品文档,联系QQ:2885784924

理解C++中的类和对象.pptVIP

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

类和对象;学习内容;1、面向对象

面向对象〔OO:OrientedObject〕是软件行业的新术语,它是为了解决70年代的“软件危机”而出现的新的软件开发方法。

面向对象是指一种程序设计范型,同时也是一种程序开发的方法。它将对象作为程序的根本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。

;面向过程:强调处理问题的过程。;一、类和对象的概念;一、类和对象的概念;对象具有抽象性、封装性、继承性、多态性四个特点。;〔1〕对象的抽象性

抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。

程序设计中对象的抽象有两方面,一是对数据的抽象,即是对象本身属性的抽象。二是过程的抽象,即是对象本身行为的抽象。;〔2〕对象的封装性

封装有两个含义:一是把对象的全部属性和操作结合在一起,形成一个不可分割的整体对象,二是信息隐藏,即这个整体对外尽量隐藏它的细节,只公布一个有限界面,通过这个界面和其它对象交互。;〔3〕对象的继承性

特殊类的对象获得一般类的全部属性与操作,称做特殊类对一般类的继承。被继承的类叫父类或基类,继承父类的类叫子类或派生类。

;〔4〕对象的多态性

对象的多态性指基类中定义的属性或操作被派生类继承后,可以具有不同的数据类型或表现出不同的行为。;例:圆形(circle)的数据抽象:

intx,y;

doubler;

行为抽象:

setx();sety();setr();draw();;二、类和对象的定义;;例2.1定义一个类

classsample{

privateintx;

public:

voidfun()

{......;

}

};

;例2.2定义一个类〔类外实现成员函数〕

classsample{

privateintx;

public:

voidfun();

};

/*类外成员函数的实现*/

voidsample::fun(){......;

};类外函数实现的格式为:

函数类型类名::函数名〔参数表〕

{语句组;}

其中,运算符“::”称为作用域分辨符,它指出“函数名”是属于“类名”的成员函数。;方法1:

classA{

public:

intr,t;

};

Ax,y;;3、类中的构造函数:

①构造函数是类的成员函数,在类内声明,可以在类体内或类体外实现。

???构造函数名与类名相同。

③构造函数无返回值。

④构造函数在创立对象时,自动调用,不需要程序员写代码显式调用。;例:2.3

#includeiostream.h

classtest{

public:

test(){coutcounstructorcalled\n;}

};

testobj1;

voidmain()

{

testobj1;

}

输出结果为:counstructorcalled;构造函数的重载:

例:2.4

#includeiostream.h

classtest{

public:

test(){coutcounstructorcalled\n;}

test(char*name){coutcounstructorcalledname=name;}

};

testobj1;

voidmain()

{

testobj1;

textobj2〔李平);

}输出结果为:counstructorcalled

conustructorcalledname=李平;4、类中的析构函数

①析构函数名为“~类名”。如,Calendar类的析构函数名为~Calendar。

②没有参数和返回值。

③析构函数不能重载。

④当对象消亡时,系统回收该对象所占用的内存空间前,析构函数会被自动调用。

;例:classBox{

public:

~Box()

{coutdistroytheobject}

private:

文档评论(0)

寒傲似冰 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8071104010000026

1亿VIP精品文档

相关文档