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

自己做网站挣钱不做网站准备

自己做网站挣钱不,做网站准备,保定高端模板建站,oa系统使用教程派生类都只有一个基类#xff0c;称为单继承#xff08;Single Inheritance#xff09;。除此之外#xff0c;C也支持多继承#xff08;Multiple Inheritance#xff09;#xff0c;即一个派生类可以有两个或多个基类。 多继承的语法也很简单#xff0c;将多个基类用逗…派生类都只有一个基类称为单继承Single Inheritance。除此之外C也支持多继承Multiple Inheritance即一个派生类可以有两个或多个基类。 多继承的语法也很简单将多个基类用逗号隔开即可。例如已声明了类A、类B和类C那么可以这样来声明派生类D class D: public A, private B, protected C{//类D新增加的成员 }D 是多继承形式的派生类它以公有的方式继承 A 类以私有的方式继承 B 类以保护的方式继承 C 类。D 根据不同的继承方式获取 A、B、C 中的成员确定它们在派生类中的访问权限。 多继承下的构造函数 多继承形式下的构造函数和单继承形式基本相同只是要在派生类的构造函数中调用多个基类的构造函数。以上面的 A、B、C、D 类为例D 类构造函数的写法为 D(形参列表): A(实参列表), B(实参列表), C(实参列表){//其他操作 }基类构造函数的调用顺序和和它们在派生类构造函数中出现的顺序无关而是和声明派生类时基类出现的顺序相同。仍然以上面的 A、B、C、D 类为例即使将 D 类构造函数写作下面的形式 D(形参列表): B(实参列表), C(实参列表), A(实参列表){//其他操作 }那么也是先调用 A 类的构造函数再调用 B 类构造函数最后调用 C 类构造函数。 多继承的实例 #include iostream using namespace std;//基类 class BaseA{ public:BaseA(int a, int b);~BaseA(); protected:int m_a;int m_b; }; BaseA::BaseA(int a, int b): m_a(a), m_b(b){coutBaseA constructorendl; } BaseA::~BaseA(){coutBaseA destructorendl; }//基类 class BaseB{ public:BaseB(int c, int d);~BaseB(); protected:int m_c;int m_d; }; BaseB::BaseB(int c, int d): m_c(c), m_d(d){coutBaseB constructorendl; } BaseB::~BaseB(){coutBaseB destructorendl; }//派生类 class Derived: public BaseA, public BaseB{ public:Derived(int a, int b, int c, int d, int e);~Derived(); public:void show(); private:int m_e; }; Derived::Derived(int a, int b, int c, int d, int e): BaseA(a, b), BaseB(c, d), m_e(e){coutDerived constructorendl; } Derived::~Derived(){coutDerived destructorendl; } void Derived::show(){coutm_a, m_b, m_c, m_d, m_eendl; }int main(){Derived obj(1, 2, 3, 4, 5);obj.show();return 0; }运行结果 BaseA constructor BaseB constructor Derived constructor 1, 2, 3, 4, 5 Derived destructor BaseB destructor BaseA destructor从运行结果中还可以发现多继承形式下析构函数的执行顺序和构造函数的执行顺序相同。 命名冲突 当两个或多个基类中有同名的成员时如果直接访问该成员就会产生命名冲突编译器不知道使用哪个基类的成员。这个时候需要在成员名字前面加上类名和域解析符::以显式地指明到底使用哪个类的成员消除二义性。 修改上面的代码为 BaseA 和 BaseB 类添加 show() 函数并将 Derived 类的 show() 函数更名为 display() #include iostream using namespace std;//基类 class BaseA{ public:BaseA(int a, int b);~BaseA(); public:void show(); protected:int m_a;int m_b; }; BaseA::BaseA(int a, int b): m_a(a), m_b(b){coutBaseA constructorendl; } BaseA::~BaseA(){coutBaseA destructorendl; } void BaseA::show(){coutm_a m_aendl;coutm_b m_bendl; }//基类 class BaseB{ public:BaseB(int c, int d);~BaseB();void show(); protected:int m_c;int m_d; }; BaseB::BaseB(int c, int d): m_c(c), m_d(d){coutBaseB constructorendl; } BaseB::~BaseB(){coutBaseB destructorendl; } void BaseB::show(){coutm_c m_cendl;coutm_d m_dendl; }//派生类 class Derived: public BaseA, public BaseB{ public:Derived(int a, int b, int c, int d, int e);~Derived(); public:void display(); private:int m_e; }; Derived::Derived(int a, int b, int c, int d, int e): BaseA(a, b), BaseB(c, d), m_e(e){coutDerived constructorendl; } Derived::~Derived(){coutDerived destructorendl; } void Derived::display(){BaseA::show(); //调用BaseA类的show()函数BaseB::show(); //调用BaseB类的show()函数coutm_e m_eendl; }int main(){Derived obj(1, 2, 3, 4, 5);obj.display();return 0; }
http://www.pierceye.com/news/457657/

相关文章:

  • 绚丽的网站wordpress进入后台显示500
  • 威海城乡与住房建设部网站小颜自助建站系统
  • 域名怎么解析到网站做响应式网站需要学哪些知识
  • wordpress手机端慢seoer是什么意思
  • wordpress添加站点江苏廉政建设网站
  • 网站seo是什么做二维码推送网站
  • win7 iis默认网站设置游戏推广员
  • 湖北二师网站建设排名潍坊专业捞泵电话
  • 个人网站设计内容和要求萍乡网站制作公司
  • 合肥网站seo费用怎么把文章导入wordpress
  • 赣州网站推广哪家最专业阿里云wordpress数据库备份
  • 珠海专业网站建设公司做网站虚拟主机好还是
  • 做美图 网站有哪些wordpress哪些插件
  • 倒计时网站模板全屋定制设计培训学校哪里有
  • 凡客做网站网站排名的重要性
  • 怎么问客户做不做网站企业网站源码 多语言
  • wordpress网站基础知识信息网络公司经营范围
  • 智汇隆网站建设wordpress建字段
  • 广东专业商城网站建设软文投稿平台有哪些
  • 广告公司起什么名字好seo教程有什么
  • 搭建网站什么意思网站制作网址
  • 哈尔滨站建筑松原市建设局网站
  • 浙江网站建设 seo深圳建设岗位证书报名网站
  • c 做彩票网站想在网上做开发网站接活儿
  • 医疗网站建设基本流程图怎样进行文化建设
  • 在深圳学网站设计我想创业做网站
  • seo网站优化公司住房和城乡建设厅证书查询
  • 江苏建设通网站创业项目
  • 亚马逊电商网站南通做网络网站
  • 做网站交易装备可以么上海企业信息查询公示系统