![](https://static.youtibao.com/asksite/comm/h5/images/m_q_title.png)
下列关于虚函数的说明中,正确的是()
A.从虚基类继承的函数都是虚函数
B.虚函数不能是静态成员函数
C.通过对象不能调用虚函数
D.抽象类中的函数都是虚函数
![](https://static.youtibao.com/asksite/comm/h5/images/solist_ts.png)
A.从虚基类继承的函数都是虚函数
B.虚函数不能是静态成员函数
C.通过对象不能调用虚函数
D.抽象类中的函数都是虚函数
A.基类中说明了虚函数后,派生类中其对应的函数一定要说明为虚函数
B.虚函数是一个成员函数
C.派生类的虚函数与基类的虚函数具有不同的参数个数和类型
D.虚函数是一个static类型的成员函数
A.纯虚函数都不能有函数体
B.纯虚函数的声明以“=0;”结束
C.拥有纯虚函数的类是抽象类,能用来定义对象
D.抽象类的派生类若不实现纯虚函数,它也是抽象类
阅读下列函数说明和C代码,将应填入 处的字句写在答题纸的对应栏内。
[函数1.1说明]
函数int factors(int n)的功能是判断整数n(n>=2)是否为完全数。如果n是完全数,则函数返回0,否则返回-1。
所谓“完全数”是指整数n的所有因子(不包括n)之和等于n自身。例如28的因子为1、2、4、7、14,而28=1+2+4+7+14,因此28是“完全数”。
[函数1.1]
int factors(int n)
{
int i,s;
for(i=1,s=0;i<=n/2;i++)
if(n%i==0) (1) ;
if((2) )return 0;
return -1;
}
[函数1.2说明]
函数int maxint(int a[], int k)的功能是用递归方法求指定数组中前k个元素的最大值,并作为函数值返回。
[函数1.2]
int maxint(int a[],int k)
{
int t;
if((3) ) return (4) ;
t=maxint(a+1, (5) );
return (a[0]>t)?a[0]:t;
A.this指针一定指向常量型数据
B.this指向的数据不可更改
C.静态成员函数中也可以访问this指针
D.this指针本身可直接作为成员函数的返回值
A.友元函数可以绕开成员函数直接访问类的私有和保护成员,避免调用成员函数相关的开销
B.友元函数虽然不是类的成员函数,但是因为友元函数是在类内说明的,所以也带有用this指针
C.友元函数可以以使用类内的所有成员,因此破坏了数据的安全性
D.友元函数的形参如果是类对象,可以用对象名,对象的引用或者对象指针
class A
{
virtual void func1();
void func2();
}
Class B: class A
{
void func1(){cout << "fun1 in class B" << endl;}
virtual void func2(){cout << "fun2 in class B" <<
endl;}
}
A, A中的func1和B中的func2都是虚函数.
B, A中的func1和B中的func2都不是虚函数.
C, A中的func2是虚函数.,B中的func1不是虚函
数.
D, A中的func2不是虚函数,B中的func1是虚函
数.