C++知识概念问题

26.下面对静态数据成员的描述中,正确的是
A)静态数据成员可以在类体内进行初始化
B)静态数据成员不可以被类的对象调用
C)静态数据成员不能受private控制符的作用
D)静态数据成员可以直接用类名调用
解析一下各项。

27.下面对于友元函数描述正确的是
A)友元函数的实现必须在类的内部定义
B)友元函数是类的成员函数
C)友元函数破坏了类的封装性和隐藏性
D)友元函数不能访问类的私有成员
解析一下各项。

28.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是
A)派生类的对象可以赋给基类的对象
B)派生类的对象可以初始化基类的引用
C)派生类的对象可以直接访问基类中的成员
D)派生类的对象的地址可以赋给指向基类的指针
解析一下各项。

26.D。。
A.静态数据成员只能在类体内初始化。详见http://blog.csdn.net/lwl_ls/archive/2009/02/21/3919028.aspx博客的日志。
B.由于静态数据成员在未生成对象时已经被分配了系统空间,所以被所有类对象所共有,因此可以被所有对象调用。
C.无论是静态数据成员还是普通数据成员函数都要受限制符的限制。
D.因为静态数据成员属于类本身,而不是某个对象,故可以访问。
by the way,非静态成员函数和非静态数据成员属于对象的方法和数据,所以只能在产生对象后,用对象去调用。

27. C
A.友元函数的实现既可以在类的内部定义又可以在类的外部定义。其实其他类函数也是既可以定义在类内部又可以在类外定义。
B.很明显不对。
C.因为友元函数可以调用和访问类的私有成员,故破坏了类的封装性和隐藏性。在C++里是不提倡使用友元函数的。
D.见C选项。

28.
A.因为公有派生类不但有积基类数据成员和函数还有自己的数据成员和函数,赋值给基类对象很正常。
B.因为公有派生类的额对象集成了基类的引用,因此可以初始化、
C.公有派生类的对象可以访问基类中的公有数据成员,并保持了保护的数据,但是丢失了基类的私有数据成员。
D.指针也被继承
之所以反复重复公有派生,是因为私有派生下的基类私有数据成员不可访问,并且公用成员和保护成员全部变为私有,失去了使用的意义。

呵呵,这是我参考了谭浩强老师和孙鑫老师的教程,结合自己语言给出的答案,希望对你有帮助
温馨提示:答案为网友推荐,仅供参考
相似回答