更多"通过私有派生,基类的私有和不可访问成员在派生类中是不可访问的,而公有和"的相关试题:
[填空题]若类B是类A的私有派生类,类C是类B的公有派生类,则类C 【12】 访问基类A的公有成员。
[填空题]基类的 [12] 不能被派生类的成员访问,基类的 [13] 在派生类中的性质和继承的性质一样,而基类的 [14] 在私有继承时在派生类中成为私有成员,在公有和私有保护继承时在派生类中仍为保护成员。
[填空题]当派生类中有和基类相同名字的成员时,派生类的同名成员会 【13】 基类的成员。
[单项选择]派生类的成员函数不能访问基类的( )。
A. 公有成员和保护成员
B. 公有成员
C. 私有成员
D. 保护成员
[填空题]派生类中的成员不以直接访问基类中的 【11】 成员。
[填空题]派生类中的成员不能直接访问基类中的 【12】 成员。
[填空题]如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。下列程序没有使用多态机制,其输出结果是______。
#include<iostream>
using namespace std;
class Base
public:
void print( ) cout<<’B’;;
class Derived:public Base
public:
void print( ) cout<<’D’;;
int main( )
Derived*pd=new Derived( )"
Base*pb=pd;
pb->print( );
pd->print( );
delete pd;
return 0;
[单项选择]如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制:
#include <iostream>
using namespace std;
class Base
int a,b;
public:
Base(int x,inty)a=x;b=y;
void show( )cout<<a<<’,’<<b<<endl;
;
class Derived:public Base
int C,d;
public:
Derived(int x,int y,int z,intm):Base(x,y)c=z;d=m;
void show( )cout<<c<<’,’<<d<<endl;
.
int main( )
Base BI(50,50),*pb;
Derived D1(10,20,30,40);
pb=&D1;
pb->show( );
return 0;
程序的输出结果是
A. 10,20
B. 30,40
C. 20,30
D. 50,50
[单项选择]在公有继承的情况下,允许派生类直接访问的基类成员包括()。
A. 公有成员
B. 公有成员和保护成员
C. 公有成员、保护成员和私有成员
D. 保护成员
[填空题]派生类对基类继承控制访问有三种。派生类可以定义其基类中不具备的 【3】 。
[单项选择]派生类对象对其基类中的什么成员是可访问的( )
A. 公有继承的私有成员
B. 私有继承的公有成员
C. 私有继承的保护成员
D. 保护继承的保护成员