面向对象程序设计答疑库(新的)-丁.docVIP

  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文档。上传文档
查看更多
面向对象程序设计答疑库(新的)-丁

1.简述面向对象的程序设计的主要特点?面向对象的程序设计语言都具有多态性、继承性、封装性、抽象性等特点。封装性:隐蔽了抽象的内部实现细节,将数据抽象的外部接口与内部实现细节清楚地分离开。继承性:继承所表达的是对象类之间相关的关系,使得某类对象可以继承另外一类对象的特征和行为。多态性:不同的对象收到相同的消息时产生多种不同的行为方式。抽象性:通过对数据实例的分析,抽取其共同性质的结果。强调对象的共同点,忽略他们的不同点。2.构造函数的功能是什么?构造函数有哪些特点?构造函数是一种特殊的成员函数,它的功能是对创建的对象进行初始化。构造函数具有下述特点:①该函数名字同类名;②该函数定义时不必指定返回类型;③该函数可以重载、可以设置默认参数;即可以无参数,又可以一个或多个参数;④该函数是由系统在创建对象时自动调用的。3.什么是类?类与对象有什么关系?类是面向对象程序设计的基础。类代表了某一批对象的共性。类既包含数据,也包含操作数据的函数。类是对象的模板,是用来定义对象的一种抽象类型。在类的定义中不能为数据成员赋值。在面向对象的C++程序设计中,对象意味着类的实例。类是一种用户自定义的数据类型。对象是使用自定义的类名在程序中说明变量。或者说,具有类类型的变量即为对象。类是创建对象的模板,对象是类的实例。5.何时执行构造函数和析构函数?类是一种用户自定义的类型,声明一个对象的时候,编译程序需要为对象分配存储空间,进行必要的初始化,为对象初始化各种数据。在C++中,这项工作是由构造函数来完成的。构造函数在对象被创建的时候由系统自动调用。析构函数与构造函数的作用几乎正好相反,它用来完成对象被删除前的一些清理工作。一般情况下,析构函数在对象的生存周期即将结束的时候由系统自动调用。6.简述调用拷贝构造函数的三种情况,一个类中有几个构造函数?一个类中有几个拷贝构造函数?一个类中有几个析构函数?拷贝构造函数的作用是当用一个已知对象初始化另一个对象时,系统将自动调用拷贝构造函数进行对象之间的值的拷贝。类的定义中,如果没有设计构造函数,编译器会提供一个默认构造函数。如果在类中定义了构造函数,那么编译器就不再提供默认构造函数。如果类的设计者没有提供拷贝构造函数,编译器会提供一个拷贝构造函数。(1)创建一个对象,在用同类的另一个对象去初始化的时候使用拷贝构造函数。(2)当函数的形参是类的对象,调用函数时,这时要在内存新建立一个临时对象,并通过临时对象把实参对象拷贝到形参对象中。此时要调用拷贝构造函数。(3)当函数的返回值是类对象,函数执行完成返回时也是要建立一个临时对象,再返回给调用者,此时要调用拷贝构造函数。一个类中可以有多个构造函数,一个类中有一个拷贝构造函数,一个类中有一个析构函数。7. 能够重载类的析构函数吗?不能。 对于一个类来讲,只能有一个析构函数,也一定是class_name::~class_name()的形式。析构函数没有任何参数,也没有返回值。我们不能传递给析构函数什么参数,因为我们不能显式的调用析构函数。8.简述静态数据成员和普通数据成员的区别,静态成员函数与普通成员函数的区别.静态数据成员不从属于任何一个具体对象,所以必须对它初始化,且对它的初始化不能在构造函数中进行,类中用关键字static修饰的数据成员叫做静态数据成员。静态成员函数只能访问静态数据成员、静态成员函数和类以外的函数和数据,不能访问类中非静态数据成员,因为非静态数据成员只有对象存在时才有意义。9.什么是友元?类具有数据封装和隐藏的特性,只有类的成员函数才可以访问类的私有成员,外部函数只能访问类的公有成员。但是在某些情况下,需要在类的外部访问类的私有成员。这时,如果通过成员函数进行访问,由于参数传递、类型检查和安全性检查等需要时间上的开销,将影响程序的运行效率。为了解决这个问题,引入了友元。 友元可以在类外部直接访问类的私有成员,提高了程序的运行效率。10. 拷贝构造函数的功能和特点是什么?:拷贝构造函数也是在创建对象时被系统调用的一种构造函数。它也是成员函数。该构造函数是在用已知对象创建另一个对象时系统自动调用的。拷贝构造函数的名字同类名,定义时不必指出返回类型,它有一个参数,数是该类的对象引用。它可与其他构造函数进行重载。11.编写派生类的析构函数时,需要显式调用基类的析构函数吗?不需要。派生类的析构函数自动调用基类的析构函数。12.哪些运算符可以被重载?哪些不能?“运算符重载”是针对C++原有运算符进行的,不能通过重载创造出新的运算符。大部分运算符都可以被重载,不能被重载的运算符有:15.在类的成员的访问权限中, public,protected,private有什么区别?它们都是类成员的访问权限,public标注的成员是公有成员,也就是其他函数或者类的对象都可以访

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档