#include<iostream>
class D1
{
int a;
protected:
int b;
public:
D1(int x=5,int y){a=x;b=y;}
void display()
{cout<<a<<endl<<b<<endl;}
};
class D2
{
int c;
public:
D2(int z=0){c=z;}
void display()
{cout<<c;}
};
class B:public D1,public D2
{
int d;
public:
B(int x){d=x;}
void show()
{D1::display();
cout<<c;
cout<<d<<endl;}
};
void main()
{B t2(30);
t2.show();
t2.display();
}
本人是个C++的小白 有道程序改错题请大佬解惑
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
great-sakya 2021-01-19 18:54关注#include<iostream> using namespace std;//常见的少了一句 class D1 { int a; protected: int b; public: D1(int x=5,int y=0){a=x;b=y;}//前面的含默认的参数,后面的必有默认参数(就是一般把有默认参数的放后边) void display() {cout<<a<<endl<<b<<endl;} }; class D2 { protected://下面子类 B有用到 c,所以c不能是private int c; public: D2(int z=0){c=z;} void display() {cout<<c;} }; class B:public D1,public D2 { int d; public: B(int x){d=x;} void show() {D1::display(); cout<<c; cout<<d<<endl;} }; int main()//main函数要int,下面return 0 {B t2(30); t2.show(); t2.D2::display();//D1和D2类都含有函数display,调用时会混淆 return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报