1. 面向对象的程序设计思想是什么?
答案:把数据结构和和对数据结构操作的方法封装开成一个个的对象。
2. 什么是类?
答案:把一些具有共性的对象归类后形成一个集合,也就是所谓的类
3. 对象都具有的两方面特征是什么?分别是什么含义?
静态特性就是属性
动态特性就是函数
答案:静态特征、动态特征
静态特征就是描述对象的一些属性(成员变量)
动态特征就是对象表现出来的行为(成员函数)
4. 在头文件中进行类的声明,在对应的实现文件中进行类的定义有什么意义?
答案:这样可以提高编译效率,因为分开后,只需要编译一次生成对应的.obj文件后,再次应用该类的地方,这个类就不会再次编译,从而大提高了编译效率
5. 在类的内部定义成员函数的函数体,这种函数会具备那种属性?
答案:这种函数为会自动为内联函数,这种函数在函数调用的地方在编译阶段都会进行代码替换。
6. 成员函数通过什么来区分不同对象的成员数据?为什么它能够区分?
答案:通过this指针指向对象的首地址来区分
7. C++编译器自动为类产生的四个缺省函数是什么?
答案:默认构造函数、拷贝构造函数、析构函数、赋值函数
8. 拷贝构造函数在哪几种情况下会被调用?
答案:
1、当类的一个对象去初始化该类的另一个对象时
2、如果函数的形参是该类的对象,调用函数进行形参与实参结合时。
3、如果函数的返回值是类对象,函数调用返回时
9. 构造函数与普通函数相比在形式上有什么不同?(构造函数的作用,它的声明形式来分析)
答案:构造函数是类的一种特殊构造函数,一般情况下,它是专门用来初始化对象成员变量的。
构造函数的名字必须与类名相同,它不具有任何类型,不返回任何值。
10. 什么时候必须重写拷贝构造函数?
答案:当构造函数涉及动态存储分配 空间时,要自己写拷贝构造函数,并且要深拷贝。
================================================================