湖南工业大学2010届计算机与通信学院C++期末考试之问答题重点
- 格式:doc
- 大小:27.50 KB
- 文档页数:2
湖南工业大学2010届计算机与通信学院C++期末考试之问答题重点
这里面是从06年到10年我们学院所有的C++考试中的问答题部分总结,题目不多,与学弟学妹们分享一下!!
1、什么是类?什么是对象?什么是面向对象的程序设计?
类:是指具有相同的属性和操作方法,并遵守相同规则的对象的集合。
对象:是包含现实世界物体特征的抽象实体,每个对象有内部的属性和操作方法。
面向:它吸取了面向过程的程序设计的优点,同时又考虑了现实世界和计算机处理的关系,它的整个程序由一系列相互作用的对象构成,对象之间的交互通过发送消息来实现,对象通过响应消息来实现程序的功能。
2、类和结构有什么区别?
结构是类的一种特例,在结构体中也可以定义成员函数、构造函数和析构函数,成员也可使用private、protected、public。结构和类的区别是:在缺省情况下,结构中的所有成员都是公有的,而在类中是私有的。
3、向过程的程序设计和面向对象的程序设计的主要区别是什么?
面向过程的程序设计:以功能为中心,采用函数来描述,函数和操作的数据是分离的。程序由一系列的函数构成,程序的实现通过函数的顺序执行来实现。。编程时需要清楚程序实现的每一步细节。
面向对象的程序设计:它吸取了面向过程的程序设计的优点,同时又考虑了现实世界和计算机处理的关系,它的整个程序由一系列相互作用的对象构成,对象之间的交互通过发送消息来实现,对象通过响应消息来实现程序的功能。
4、面向对象的程序设计它的几个特征是什么?
它有四个基本的特征,即抽象、封装、继承和多态性。
5、什么是封装?什么是多态性?C++中,多态性是如何实现的?
答:封装:是指将抽象得到的数据成员和代码相结合,形成一个有机的整体,并且将它们的细节隐藏起来的一种方法。
多态性:是指允许不同类的对象对同一消息作出响应,即实现“一个接口,多种方法”。
C++中,多态性是通过指针和虚函数来实现的。
6、编译时的多态性和运行时的多态性在实现方法上有何不同?
答:编译多态性也称静态多态性,它是通过函数重载和运算符重载实现的。
运行多态性也称动态多态性,它是通过继承和虚函数来实现的。
7、什么是友元函数?简述使用友元函数的优点和缺点。
答:在一个类中,用friend声明的非本类函数就是友元函数.友元函数的优点:不需要修改类的成员函数而可以访问类的私有成员,并且提高了执行效率。 缺点:破坏了类的封装性及信息隐蔽性。
8、函数重载的主要作用是什么?函数重载时参数个数不同时,能否有缺省参数,为什么?
调用不同的重载函数是在编译时决定还是在运行时决定?
答:函数重载主要作用是:用同一个函数名可以去调用不同参数或功能的函数,即用同一个函数实现不同的操作。
函数重载时参数个数不同时,不能有缺省参数。因为:有缺省参数时,就会发生二义性,编译出错。
调用不同的重载函数是在编译时决定的。
9、c++中,什么是函数重载?什么是运算符重载?什么是构造函数?什么是析构函数? 函数重载:函数的名称相同,参数的个数或类型不同的函数。
运算符重载:对运算符赋予新的含义,使之一名多用(主要是指运算对象包含类对象)。
构造函数:构造函数的名字必须与类名同名,它不具有任何类型,不返回任何值,主要用于对象初始化。
析构函数:函数名与类名相同,只是在前边加“~”符号,它不具有任何类型,不返回任何值,主要用于对象撤销后的清理工作。
10、构造函数和析构函数的作用是什么?什么时候需要自己定义构造函数和析构函数?
构造函数的作用:用于新建对象的初始化工作。
析构函数的作用:用于在撤销对象前,完成一些清理工作,比如:释放内存等。
每当创建对象时,需要添加初始化代码时,则需要定义自己的构造函数;而对象撤销时,需要自己添加清理工作的代码时,则需要定义自己的析构函数。
11、什么是简单继承?什么是多重继承?在软件开发过程中,继承有什么好处?
简单继承:派生类的基类只有一个的继承方法。
多重继承:派生类的基类同时有多个时的继承方法。
继承的好处:由于可以利用已有的软件基础来进行新的软件开发,所以能提高软件开发效率和软件质量。
12、什么是内置函数?它的主要作用是什么?如何声明内置函数?
嵌入到主调函数中的函数称为内置函数,又称内嵌函数。
它的作用:提高程序的执行效率。
声明内置函数:只需在函数首行的左端加一个关键字inline即可。