读书人

两道选择题解决方法

发布时间: 2012-02-07 17:45:36 作者: rapoo

两道选择题
下列关于动态联编的多态性的描述中,理解不正确的是:
A) 动态联编的多态性是以虚函数和公有继承为基础的。
B) 运行时根据基类对象指针或引用所指向的具体对象调用虚函数具体代码。
C) 纯虚函数是基类中说明的没有具体实现的虚函数,其实现由派生类给出。
D) 抽象类是含有纯虚函数的类,往往用作基类,可以直接创建对象实例。

======
这题我认为A是错的,好像多态是以虚函数为基础但沾不上公有基础。


下列关于重载函数和虚函数的辨析描述中,理解不正确的是:
A) 重载函数处理的是同一类层次上的同名函数问题,而虚函数处理的是不同派生层次上的同名函数问题。
B) 重载函数要求函数有相同的函数名称,不管返回值类型是否相同,但参数序列必须不同,而虚函数则要求函数名、参数序列和返回值类型完全相同。
C) 重载函数和虚函数都必须是类成员函数,但重载函数一般功能类似,而虚函数一般功能有所不同,甚至基类虚函数的函数体可以为空,具体功能在派生类中添加。
D) 重载函数在编译时,根据传递参数序列的不同,确定具体调用表现多态性,而虚函数在运行时,根据基类指针或引用所指向对象的不同,确定具体调用表现出多态性。
=====
这题好像个个都对.......


[解决办法]
下列关于重载函数和虚函数的辨析描述中,理解不正确的是:
A) 重载函数处理的是同一类层次上的同名函数问题,而虚函数处理的是不同派生层次上的同名函数问题。
B) 重载函数要求函数有相同的函数名称,不管返回值类型是否相同,但参数序列必须不同,而虚函数则要求函数名、参数序列和返回值类型完全相同。
C) 重载函数和虚函数都必须是类成员函数,但重载函数一般功能类似,而虚函数一般功能有所不同,甚至基类虚函数的函数体可以为空,具体功能在派生类中添加。
D) 重载函数在编译时,根据传递参数序列的不同,确定具体调用表现多态性,而虚函数在运行时,根据基类指针或引用所指向对象的不同,确定具体调用表现出多态性。
=====

明显C错, 重载函数与其是不是类的成员函数没有关系
[解决办法]
第一个D,A好像也不对.应该是虚函数和虚继承.
[解决办法]
1.D 抽象类不能创建实例

2.C 重载函数不一定是成员函数,全局函数一样可以重载
[解决办法]
1. D 理由:抽象类不能创建实例,作统一接口用

2. C 理由:虚函数都必须是类成员函数, 但是重载函数不一定,比如全局函数,类友元函数

都可以作为重载函数


读书人网 >C++

热点推荐