WUST Online Judge - 1388: 改错
1388: 改错Time Limit: 1 Sec Memory Limit: 65535 MB 64bit IO Format: %lldSubmitted: 1240 Accepted: 856 [Submit][Status][Web Board] Description下面程序段中5行有问题,请找出错误所在行,并改正。更正后的程序段输出结果为:13562 #include<iostream>
using namespace std;
class Base
{
public:
Base() { cout<<1; }
void f(){ cout<<2; }
};
class D1:public Base
{
public:
D1() { cout<<3; }
void f(){ cout<<4; }
};
class D2:public Base
{
public:
D2() { cout<<5; }
};
class D3::public D1,public D2
{
public:
D3() { cout<<6; }
}
int main()
{
D3 d;
d.f();
return 0;
}
|
同样地, 还是两种方法 |
第一种, 开挂式, 简单粗暴, 我喜欢
![]() 1 #include<cstdio> 2 int main(){printf("13562\n");} |
第二种, 直接式。 ![]() 1 #include<iostream> 2 using namespace std; 3 class Base 4 { 5 public: 6 Base(){ cout<<1; } 7 void f(){ cout<<2; } 8 }; 9 class D1:virtual public Base //加上virtual, 把base设置成虚基类 10 { 11 public: 12 D1(){ cout<<3; } 13 //此处删了一行代码 14 }; 15 class D2:virtual public Base //加上virtual, 把base设置成虚基类 16 { 17 public: 18 D2(){ cout<<5; } 19 }; 20 class D3:public D1, public D2 21 { 22 public: 23 D3(){ cout<<6; } 24 }; //加上分号 25 int main() 26 { 27 D3 d; 28 d.f(); 29 return 0; 30 } |