当前位置: 首页 > news >正文

设计好看的美食网站有哪些汕头seo代理

设计好看的美食网站有哪些,汕头seo代理,传媒公司起名字大全免费,wordpress 头部 微博引入 在继承和派生这一篇中展示的案例都是一个派生类只有一个基类,也就是单继承,可以看作继承单(只继承一个基类)。 顾名思义,当一个派生类继承于多个基类的时候就是多继承。 class monkey :public animal之前单继承时…

引入

在继承和派生这一篇中展示的案例都是一个派生类只有一个基类,也就是单继承,可以看作继承单(只继承一个基类)。
顾名思义,当一个派生类继承于多个基类的时候就是多继承

class monkey :public animal

之前单继承时创建派生类是上面这种写法。
如果是多继承的话,只需要在animal后用逗号隔开继续写其它基类就可以了:
class monkey :public animal ,public yuan……

完整代码:

class animal {
public:animal() {cout << "call animal " << endl;}
};class yuan {
public:yuan() {cout << "call yuan " << endl;}
};
//多继承声明派生类
class monkey :public animal ,public yuan {
public:monkey() {cout << "call monkey " << endl;}
};

结果输出:
在这里插入图片描述

孙悟空会七十二变,时而变为人,时而变成动物,现在用多继承来实现:
动物类的成员变量有昵称,人类有名字,孙悟空类新增一个性别类。

class animal {
public:animal() {}animal(string name):nickName(name){}
public:string nickName;
};class people {
public:people() {}
protected:string name;people(string name) :name(name){}
};class WuKong:public animal ,public people{
private:char sex;
public:WuKong() {}WuKong(string nickName, string name, char sex) :animal(nickName), people(name), sex(sex){}void printInfo() {cout << this->nickName << "  " << this->name << "  " << this->sex << endl;}
};int main() {WuKong v("monkey","WuKong",'Y');v.printInfo();return 0;
}

多继承构造函数的调用顺序

在这里插入图片描述
比如class WuKong:public animal ,public people这句中,先写的是animal,就先调animal的构造函数,后调people
而对于这句WuKong(string nickName, string name, char sex) :animal(nickName), people(name), sex(sex){}
如果变换animal和people的顺序,输出结果仍为未交换时的结果,因为在这里修改不能改变调用构造函数的顺序。
总之就是调用各类构造函数的顺序取决于声明派生类时各父类的书写先后。

若在声明派生类后面先people再animal,则结果就按先people再animal输出:
在这里插入图片描述
变换顺序后输出也跟着改变:
在这里插入图片描述
完整代码:

class animal {
public:animal() {cout << "call animal"<<endl;}
};class people {
public:people() { cout << "call people" << endl;}
};
//取决于下面这行的中基类书写的顺序
class WuKong: public animal , public people {
public:WuKong() {cout << "call WuKong" << endl;}
};int main() {WuKong v;return 0;
}

多继承名字冲突

当基类中有相同的构造函数时,需要明确标注要用的是哪个类里面的:
基类 ::构造函数名();

否则就会报错:在这里插入图片描述
可以在派生类里面写一个构造函数,在这个构造函数里面声明是调用哪个类的:

class worker{
public:worker() {}void printInfo() {cout << "worker " << endl;}
};class person {
public:person() { }void printInfo() {cout << "person " << endl;}
};class AI: public worker , public person {
public:AI() {}//在这里添加了funcvoid func() {//需要哪个就具体写出哪个person::printInfo();worker::printInfo();}
};int main() {AI v;v.func();return 0;
}
http://www.dtcms.com/a/547062.html

相关文章:

  • 建设电商网站需要多少钱深圳企业网站托管
  • 朝阳网站建设怎么样江阴网站建设推广
  • 网页制作素材网站推荐金融公司网站建设
  • 成都网站建设好多科技成都比较好的室内设计公司有哪些
  • 5G网站建设要多少个网页小游戏在线玩4399
  • LeetCode:384. 打乱数组
  • 做外贸接私单的网站镇江建站推广报价
  • 安徽网站seo高端网站建设推来客网络
  • 建设网站要多少钱曲阜网站建设公司
  • 网站页面优化方法美食网站开发详细设计
  • 网站做动态还是静态永兴房产网站
  • 抄袭网站模板个人网站建设如何赚钱
  • 深圳网站制作的公司嘉兴网站建设需要提供哪些资料
  • 企业门户网站建设管理制度制作网站微信登陆入口
  • 成都平台网站开发公司电商如何从零做起
  • 石家庄网站seo优化安阳区号
  • 微信怎么建设网站软件开发工程师绩效考核指标
  • 网络书城网站开发 需求分析部标平台软件网站开发
  • flask网站开发视频下载应用商店app下载安装
  • 珠宝类网站建设青海免费网站建设
  • 建设银行益阳市分行桃江支行网站软件技术主要学什么课程
  • 免费网站程序下载怎么做神马搜索排名seo
  • 怎样做免费网站推广搜狗网站排名软件
  • 必应搜索引擎网站爱站工具包的模块有哪些
  • 网站建设哪个公司做得好咸阳市建设局网站
  • OpenHarmony数据管理核心技术:UTD、UDS与UDMF深度剖析
  • 什么是网站开发网站开发面向对象
  • 如何开发电子商务网站滨州网站建设hskj360
  • 对象存储技术解析:选型对比、架构设计与动态切换实战
  • 网站建设丶金手指下拉十五24小时最新在线视频免费观看