C 基础知识简答题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、什么是类?什么是对象?什么是面向对象的程序设计?

类:是指具有相同的属性和操作方法,并遵守相同规则的对象的集合。

对象:是包含现实世界物体特征的抽象实体,每个对象有内部的属性和操作方法。

面向:它吸取了面向过程的程序设计的优点,同时又考虑了现实世界和计算机处理的关系,它的整个程序由一系列相互作用的对象构成,对象之间的交互通过发送消息来实现,对象通过响应消息来实现程序的功能。

2、简要说明用面向对象的程序设计方法开发出的程序的运行过程。(9分)

运行过程:各个对象向另一些对象发送消息,对象响应消息,然后执行消息映射函数,从而实现程序的功能

3、类和结构有什么区别?(7分)

结构是类的一种特例,在结构体中也可以定义成员函数、构造函数和析构函数,成员也可使用private、protected、public。结构和类的区别是:在缺省情况下,结构中的所有成员都是公有的,而在类中是私有的。

4、向过程的程序设计和面向对象的程序设计的主要区别是什么?

面向过程的程序设计:以功能为中心,采用函数来描述,函数和操作的数据是分离的。程序由一系列的函数构成,程序的实现通过函数的顺序执行来实现。。编程时需要清楚程序实现的每一步细节。

面向对象的程序设计:它吸取了面向过程的程序设计的优点,同时又考虑了现实世界和计算机处理的关系,它的整个程序由一系列相互作用的对象构成,对象之间的交互通过发送消息来实现,对象通过响应消息来实现程序的功能。

5、面向对象的程序设计它的几个特征是什么?

它有四个基本的特征,即抽象、封装、继承和多态性。

6、什么是封装?什么是多态性?C++中,多态性是如何实现的?(9分)

答:封装:是指将抽象得到的数据成员和代码相结合,形成一个有机的整体,并且将它们的细节隐藏起来的一种方法。

多态性:是指允许不同类的对象对同一消息作出响应,即实现“一个接口,多种方法”。

C++中,多态性是通过指针和虚函数来实现的。

7、编译时的多态性和运行时的多态性在实现方法上有何不同?

答:编译多态性也称静态多态性,它是通过函数重载和运算符重载实现的。

运行多态性也称动态多态性,它是通过继承和虚函数来实现的。

8、简述使用友元函数的优点和缺点。(7分)

答:友元函数的优点:不需要修改类的成员函数而可以访问类的私有成员,并且提高了执行效率。缺点:破坏了类的封装性及信息隐蔽性。

9、什么是友元函数?友元函数的作用是什么?

答:在一个类中,用friend声明的非本类函数就是友元函数。

友元函数的作用:可以直接访问本类的私有成员,提高编程的灵活性和程序执行效率。

10、函数重载的主要作用是什么?函数重载时参数个数不同时,能否有缺省参数,为什么?调用不同的重载函数是在编译时决定还是在运行时决定?

答:函数重载主要作用是:用同一个函数名可以去调用不同参数或功能的函数,即用同一个函数实现不同的操作。

函数重载时参数个数不同时,不能有缺省参数。因为:有缺省参数时,就会发生二义性,编译出错。

调用不同的重载函数是在编译时决定的。

11、c++中,什么是函数重载?什么是运算符重载?什么是构造函数?什么是析构函数?

函数重载:函数的名称相同,参数的个数或类型不同的函数。

运算符重载:对运算符赋予新的含义,使之一名多用(主要是指运算对象包含类对象)。

构造函数:构造函数的名字必须与类名同名,它不具有任何类型,不返回任何值,主要用于对象初始化。

析构函数:函数名与类名相同,只是在前边加“~”符号,它不具有任何类型,不返回任何值,主要用于对象撤销后的清理工作。

12、构造函数和析构函数的作用是什么?什么时候需要自己定义构造函数和析构函数?

构造函数的作用:用于新建对象的初始化工作。(2分)

析构函数的作用:用于在撤销对象前,完成一些清理工作,比如:释放内存等。(2分)每当创建对象时,需要添加初始化代码时,则需要定义自己的构造函数;而对象撤销时,需要自己添加清理工作的代码时,则需要定义自己的析构函数。

13、什么是简单继承?什么是多重继承?在软件开发过程中,继承有什么好处?

简单继承:派生类的基类只有一个的继承方法。(3分)

多重继承:派生类的基类同时有多个时的继承方法。(3分)

继承的好处:由于可以利用已有的软件基础来进行新的软件开发,所以能提高软件开发效率和软件质量。

14、什么是内置函数?它的主要作用是什么?如何声明内置函数?

嵌入到主调函数中的函数称为内置函数,又称内嵌函数。

它的作用:提高程序的执行效率。

声明内置函数:只需在函数首行的左端加一个关键字inline即可。

15、什么是函数的递归调用?什么是函数的嵌套调用?它们的主要区别是什么?

答:在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。

在调用一个函数的过程中,又调用另一个函数,称为函数的嵌套调用。

主要区别是:嵌套调用的函数不能是本身,自身调用的函数是本身。。

16、简要说明:在VC++6.0中开发用于控制台程序时,如何开发具有多个源文件的工程。答:开发方法:首先,建立一个简单的Win32控制台工程,编辑主程序并存盘。然后,在主菜单中选择:工程/添加工程/文件,在该工程中添加一个源文件或头文件,再编辑。用此方式可以添加多个。最后,进行编译运行。在编辑多个源文件时,注意在源文件中正确加上包含的头文件。

17、在VC++6.0中,用MFC开发一个工程,一般是每个类会对应有一个.CPP源文件和一个.H 头文件。简要说明程序中如何在一个类中使用另一个类的成员。(6分)

方法是:1)、在.h头文件或.cpp源程序中加入要用到类的头文件.h。

2)、声明要使用类的对象(即定义一个对象),然后调用该对象的成员。

18、在C++中,分别使用while 和do…while语句等价实现下列for语句的功能:

for (i=0,k=0;i<5;k+=i++);

(1)用while语句:(2)用do...while语句:

i=0; i=0;

k=0; k=0;

while(i<5) do

{ {

k+=i++; k+=i++; //该语句可有多种表达

} }while(i<5);

相关文档
最新文档