一. 面向对象的优势:
1. 面向对象设计与人的思维方式相似,以对象来看待世界。
2. 面向对象程序的风格体现主语和谓语。
3. 面向对象设计是将属性和操作封装在对象中,保护其属性。
4. 继承:实现代码的重用,是新的类吸收已有的特性,再加上其独特的特性而派生。
二. 什么是纯虚函数,抽象类?
1. 含有纯虚函数的类称为抽象类。纯虚函数(virtual函数)是在声明时“初始化值为0”的函数。Virtual void draw() const=0;
2. 在基类中不能对虚函数给出有意义有实现,而把它说明为纯虚函数,它的实现留给该基类的派生类去做,这就是纯虚函数的作用。
3. 为了方便使用多态特性,我们常需要在基类中定义虚拟函数,且在基类本身不能生成对象,
所以引入了纯虚函数的概念,将函数定义为纯虚函数(virtual ReturnType Function()=0;),则编译器要求若派生类非抽象类,则在派生类中必须予以重载以实现多态性。同时含有纯虚函数的类称为抽象类,它不能生成对象。
4. 构造抽象类的目的是为其他类提供适合的基类。技术上的需要。
三. Private、protected、private的区别:
1. privte(私有成员),protected(保护成员),public(公有成员)控制类中的访问权限。
2. public:可以被程序中的其他函数以及其他类的成员函数调用。
Private:只能可以被声明它们的类的成员函数所访问。
Protected:基类的protected成员既可以被基类的成员和友元访问,又可以被基类派生的任何类的成员和友元访问,//(protected对内部开发对其直接派生类开放)//
Public>protected>private
四. 什么是多态?
1. 不同的类有相同的概念,但有不同的内涵。
2. 多态性使我们能够进行“通用化编程”,而不是“特殊化编程”。多态性使编写的程序在处理同一个类层次结构下类的对象时就好像它们是基类的所有对象一样。
3. 多态是用基类的指针去访问不同派生类的动作。
五. 什么叫初始化器?
1. 初始化器语法上出现在构造函数的参数列表和作为构造函数体开始的左花括号之间。成员函数初始化列表用一个冒号与参数列表分开。
2. 常量数据成员,引用--、const--、聚合--、继承—必需使用初始化。
六. 内联函数及其作用:
1. 函数调用需要一定的时间和空间的开销。
2. 多态性与虚函数内联函数:把被调用函数的代码粘贴(嵌入)到主调函数调用的地方,避免函数调用时的跳跃。
3. 使用内联函数可以节省运行时间,但却增加了目标程序的长度。
4. 使用内联函数可减少函数调用的开销,特别是对于小函数。
七.友元函数:
1. 在面向对象数据封装的背景下,为了满足对象和函数的协作,允许类的数据对它的友元函数开放。
2. 类的friend函数(友元函数)在类的作用域之外定义,却具有访问类的非public(以及public)
    成员的权限。单独的函数或整个类都可以被声明为另一个类的友元。
3. 友元的使用增加了类的开放性和灵活性,但破坏了封闭性。
七. 派生类的构造函数:
1. 实际是缺省的调用了基类的构造函数
八. 构造函数与析构函数:
1. 构造函数是用来完成成员初始化的,析构函数是释放内存空间。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。