linjingtu 发表于 2019-10-20 11:58:27

程序员问答

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




页: [1]
查看完整版本: 程序员问答