helloworldyun 2017-11-26 03:13 采纳率: 0%
浏览 822

关于class继承的问题,为什么第一个base和第二个based的结果不一样?

#include
#include
class base{ char name[15]; //定义基类base,
public:
base(char* m="王五"){strcpy(name,m);}
void show(){cout<<"base输出: "<<name<<endl;}
};
class base1: virtual public base{ //定义派生类base1,base为虚基类
public: base1(char* m): base(m){ }
};
class base2: virtual public base{ //定义派生类base1,base为虚基类
public: base2(char*m): base(m){ }
};
class derive: virtual public base1,public base2 //定义派生类的derive,多继承
{ char name[15];
public:
derive(char*,char*,char*,char*);
derive(char*,char*,char*);
void showD(){ cout<<"derive输出: "<<name<<endl;}
};
derive::derive(char* p,char* q,char* r,char t): base(p),base1(q),base2(r) { strcpy(name,t);}
derive::derive(char
p,char* q,char* r): base1(p),base2(q){ strcpy(name,r);}
void main()
{derive d("赵易","钱耳","孙伞","李思");
d.show();
d.showD();
derive c("赵易","钱耳","孙伞");
c.show();
c.showD();
base1 b("周武");
b.show();
}
运行结果为:
base 输出:赵易
derive 输出:李思
base 输出:王五
derive 输出:孙伞
base 输出:周武

  • 写回答

2条回答 默认 最新

  • ersaijun 2017-11-26 07:19
    关注

    写的好乱,别人没心思看了。。。建议稍微排版些

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题