文档详情

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

发布:2017-06-07约5.64千字共8页下载文档
文本预览下载声明
变量:指以标识符为名字,其值可以改变的量。变量代表计算机内存中的某一存储空间,变量的类型决定了该存储空间的长度和其中存放数据的编码方式及存储格式。变量的类型也决定了该存储空间中存放数据的数据形式和取值范围。 数据类型:存取数据必须先确定数据的编码方式、存储格式和所占的存储长度,把这三者结合起来,给出几种固定的形式,这些形式就是最基本的数据类型。 使用关键字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 iostream.h 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;i3;i++){ swap(a, b); couta=a b=bendl; } 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) { coutval constructor called!endl; } ~A() { coutval destructor called!endl; } operator bool() { cout operator bool() is calle
显示全部
相似文档