c++复习题2012部分答案(欢迎修改).doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
变量:指以标识符为名字,其值可以改变的量。变量代表计算机内存中的某一存储空间,变量的类型决定了该存储空间的长度和其中存放数据的编码方式及存储格式。变量的类型也决定了该存储空间中存放数据的数据形式和取值范围。 数据类型:存取数据必须先确定数据的编码方式、存储格式和所占的存储长度,把这三者结合起来,给出几种固定的形式,这些形式就是最基本的数据类型。 使用关键字inline说明的函数称为内联函数。内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用语句处。这样就节省了参数传递、控制转移等开销。1、内联函数体内不能有循环语句和switch语句;否则做常规函数处理。2、内联函数的定义必须出现在第一次被调用之前;3、对内联函数不能进行异常接口声明。4、在类结构中,类体内定义的成员函数都是内联函数。 程序设计语言范型 p8 强/弱类型是指类型检查的严格程度的。语言有无类型,弱类型和强类型三种。无类型的不检查,甚至不区分指令和数据。弱类型的检查很弱,仅能严格的区分指令和数据。强类型的则严格的在编译期进行检查。弱类型语言允许将一块内存看做多种类型。强类型语言在没有强制类型转化前,不允许两种不同类型的变量相互操作。C and C++ 是静态语言,也是弱类型语言;Perl and PHP 是动态语言,但也是弱类型语言。Java、C# 和 Python 等都是强类型语言。 抽象数据类型通常是指由用户定义,用以表示应用问题的数据模型。抽象数据类型由基本的数据类型构成,并包括一组相关的服务。 对象的一个新类可以从现有的类中派生,这个过程称为类继承。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。(可以通过接口访问)多态性是指允许不同类的对象对同一消息作出响应。 class、struct和union关键字声明类的区别 p109 135 什么是类的静态成员?定义类的静态成员最根本的作用是什么?p159 静态数据成员p160、常数据成员p158的初始化的方法是什么?基类子对象、对象成员的初始化方式是什么? 什么是构造函数?什么是析构函数?它们能否被重载?p118 什么是引用机制p243?以引用类型作为函数的参数和以指针类型作为函数的参数,在函数调用虚实转换上有什么区别? 有哪些访问控制?各访问控制修饰符的修饰下,当前类中的名字及其在水平模块中的访问规则是什么?p112 什么是对象的生存期?分为哪两种?对象在什么情况下具有静态生存期?根据生存期的不同可以把对象分为哪三种?各具有什么特点?p152 this指针是C++实现将数据成员和操作这些数据成员的成员函数封装于一体的一种机制。即:对于类的每一个非静态成员函数(包括构造函数和析构函数),关键字this是一个非左值表达式,它的值是一个正被该非静态成员函数所操作对象的地址。因此,this总是指向当前正被非静态成员函数所操作的对象,并且在程序中可以通过使用关键字this来使用该指针。故称为this指针。 关于this指针需要注意的问题: 1)只有类的非静态成员函数才有所谓的this指针。 2)由于this是一个非左值表达式,因此不允许向this赋值。 3)this中既然存放的是当前被非静态成员函数所操作对象的地址,因此this也有数据类型。 什么是继承中的二义性p325?有些解决二义性的办法?访问控制能否解决二义性p328?为什么? 什么是拷贝构造函数p123?它们在那些情况下被系统自动调用?p321 什么是虚函数p351?C++中为什么要引入虚函数这种语言成分?p353 多态有哪三种表现形式?p340最后一段 对象作用域有哪四种?p149 什么是友元函数、友元类?如何定义?p163-165 写出下列程序的运行结果: #include void swap int m, int n int temp m; m 3+n; n 6*temp; main int a 2, b 1; for int i 0;i 3;i++ swap a, b ; cout a a b b endl; return 0; a 4 b 12 a 15 b 24 a 27 b 90 2、 #include iostream.h struct A int val; A int i : val i cout val constructor called! endl; ~A cout val destructor called! endl; operator bool cout operator bool is called! endl; return val ! 0; ; void main void int k 3;

文档评论(0)

考试教学资料 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档