有以下类定义: class A{int x;}; class B:virtual public A{int y;}; class C:virtual public A{int z;}; class D:public B, public C{}; 则对于 D 类对象 d,以下正确的选项是()。
A.有 3 个成员
B.有 4 个成员
C.没有成员
D.有 2 个成员
A.有 3 个成员
B.有 4 个成员
C.没有成员
D.有 2 个成员
第1题
A、d.x=5;
B、出现二义性
C、会调用 5 次构造函数
D、都不对
第2题
using System;
class A
{
public A(){
PrintFields();
}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y;
public B(){
y=-1;
}
public override void PrintFields(){
Console.WriteLine("x={0},y={1}",x,y);
}
当使用new B()创建B的实例时,产生什么输出?
第3题
using System;
class A
{
public A(){
PrintFields();
}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y;
public B(){
y=-1;
}
public override void PrintFields(){
Console.WriteLine("x={0},y={1}",x,y);
}
当使用new B()创建B的实例时,产生什么输出?
第4题
using System;
class A
{
public A()
{
PrintFields();
}
public virtual void PrintFields(){}
}
class BA
{
int x=1;
int y;
public B()
{
y=-1;
}
public override void PrintFields()
{
Console.WriteLine(x={0},y={1},x,y);
}
当使用new B()创建B的实例时,产生什么输出?
第5题
using System;
class A
{
public A()
{
PrintFields();
}
public virtual void PrintFields(){}
}
class BA
{
int x=1;
int y;
public B()
{
y=-1;
}
public override void PrintFields()
{
Console.WriteLine(x={0},y={1},x,y);
}
当使用new B()创建B的实例时,产生什么输出?
第6题
include <iostream>
using namespace std;
class A {
int a;
public:
A():a(9){}
virtual void print() const { cout<<a;};
};
class B: public A {
char b;
public:
B( ){b='S';}
void print() const {cout<<b;}
};
void show(A &x){ x.print0;}
int main()
{ Ad1,*p;
B d2;
p=&d2;
d1.print();
d2.print0;
p->print();
show(d1);
show(d2);
return 0;}
第7题
#include
using namespace std;
class A {
int a;
public:
A():a(9){}
virtual void print() const { cout<<a;};
};
class B : public A {
char b;
public:
B( ){b='S';}
void print( ) const { cout <<b;}
};
void show(A &x){ x.print();}
int main()
{ A d1,*p;
B d2;
p=&d2;
d1.print();
d2.print();
p->print();
show(d1);
show(d2);
return 0;}
第8题
第9题
第10题
A、没有输出
B、55
C、编译错误
D、5
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!