您的位置:首页 > 编程语言 > C语言/C++

C/C++常见面试题

2014-04-03 09:25 176 查看
1.虚函数主要作用是建立抽象模型,从而达到方便扩展系统的目的。
虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public

在基类的类定义中定义虚函数的形式为
virtual 函数返回值类型 虚函数名(形参表)
{
函数体
}

纯虚函数是指为不具体实现的虚函数,是一种特殊的虚函数。

纯虚函数是一种特殊的虚函数,其一般格式是
class <类名>
{
virtual <类型><函数名>(<参数表>) = 0;
}

区别:
纯虚函数是虚函数的一个子集,用于抽象类,含有纯虚函数的类就是抽象类,它不能生成对象

纯虚函数用来定义没有意义的实现,用于抽象类中需要交给派生类具体实现的方法。

2.指针式用来存储内存地址的变量,它指向单个对象的地址,除void指针类型外,指针的数据类型与所指地址的变量数据类型必须保持一致。

3.成员变量访问权限
private:只能由该类中的方法访问,是私有变量,不能被该类的对象访问
protected:可以被该类中的方法和其友元函数访问,但不能被该类的对象访问
public:可以被该类中的方法和其友元函数访问,是公有变量,也可以由该类对象访问

4.多态 “一个接口,多种实现”
多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。
C++中,实现多态有以下方法:虚函数抽象类重载,覆盖,模板。

5.STL 标准模板库
提供一些通用的代码,包括容器,迭代器和算法
当遇到某些功能在代码实现上相同,不同的只是处理类型,最好对代码重构,将其中共性提出来,以实现代码重用。

函数模板技术室指使用了模板技术定义了参数化类型的非成员函数,使得程序能够使用不同的参数类型调用相同的函数。

类模板是使用模板技术的类,描述了能够管理其他数据类型的通用的数据结构。
类模板技术常用来建立包含其他类型的容器类,如队列,链表和堆栈。

容器是容纳特定类型对象的集合,因此容器中的对象必须是同一类型,而且该类型必须是可拷贝构造和可赋值的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息