面向对象c++判断题总结

Posted joelovescoding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象c++判断题总结相关的知识,希望对你有一定的参考价值。

 

1.      c++结构体(struct)的成员可以有数据成员和成员函数

正确,因为struct可以被视作一个只有public的class 所以可以有数据成员和成员函数

2.      c++类中的所有成员函数都有一个隐含的形式参数this指针。

错误,因为静态的成员函数没有this指针

3.      类的静态数组成员在主函数执行前创建,程序结束时被销毁。

正确

4.      类的友元函数可以访问该类对象的受保护(protected)以及私有(private)成员。

正确,友元函数跟成员函数都有一样的权限。

5.      C++的结构体(struct)以及类(class)中成员的访问属性均默认为public

错误,struct里面默认为都是public,class当中默认为都是private。

6.      类的静态数据成员占用具体对象的储存空间。

错误,类的静态成员不占用具体对象的储存空间。

7.      静态成员函数不必通过该类的对象调用,可以直接用类名以及作用域分开符(::)进行调用。

正确,

8.      非静态成员函数中,隐含传递的形参this是一个指针常量,它是一个指向不能被改变的指针。因此赋值语句this=NULL;企图改变它的方向是错误的。

正确,this指针是一个指针常量,不能改变它的方向

9.      派生类不能继承基类中访问属性为private的数据成员

错误,可以继承private的数据成员但是不可以访问private数据成员

10.  基类的私有成员在派生类中不能直接访问,需要通过基类的非私有成员函数进行访问。

正确,比如说getName()这样的函数。

11.  设函数f是类A的友元函数,类A是类B的友元,此时函数f却不一定是类B的友元函数。

正确

12.  任何类都至少有一个赋值运算符函数

正确

13.  类的构造函数、析构函数都可以为虚函数。

错误,构造函数绝对不能是虚函数,但是析构函数常常设置为虚函数。这是因为如果把析构函数设置为虚函数,那么可以将继承了这个类的子类在调用析构函数的时候一并析构。

14.  引用返回的函数,可以返回该函数中值传递的形参变量(或对象)

错误,形参变量的生命周期不够长不能返回

15.  有静态数据成员的类,应该考虑为其设计复制构造函数和而析构函数。

正确,这个题是这样的,由于我们课本上学静态数据成员的时候呢,拿学生人数统计当的例子,所以按照老师的意思,每次创建一个新的学生对象,在构造时人数要加一,也就是静态变量值加一,析构的时候自然减一了

16.C++程序中,操作符new的功能与calloc函数的功能完全一样。

 

错误,new是calloc的升级版,显然两者的功能不是完全一样的。具体差别为:calloc函数只管动态申请空间,不会管怎么释放,而new的对象在delete的时候会调用其析构函数释放掉其基本空间的数据。

17.类的析构函数可以被重载

错误,析构函数没有参数表而函数重载就是参数表不同来重载的。

18.含有纯虚函数的类成为抽象类,不能创建抽象类的对象,可以定义抽象类的指针和引用

        正确

 

 

 

以上是关于面向对象c++判断题总结的主要内容,如果未能解决你的问题,请参考以下文章

c++基础面试题总结

C++编程题 (面向对象程序设计)

C++基础二类和对象(上篇)(10000字掌握C++类核心内容)

C++基础二类和对象(上篇)(10000字掌握C++类核心内容)

C++基础二类和对象(上篇)(10000字掌握C++类核心内容)

《C++面向对象程序设计》✍千处细节万字总结(建议收藏)