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

常州做网站公司关键词优化软件有哪些

常州做网站公司,关键词优化软件有哪些,手机app前端开发工具,建设网站平台多重继承容易引起的问题就是因为继承的成员同名而产生的二义性问题。 例:类A和类B中都有成员函数display和数据成员a,类C是类A和类B的直接派生类 情况一: class A {public:int a;void display(); }; class B {public:int a;void display; }; class C:…

多重继承容易引起的问题就是因为继承的成员同名而产生的二义性问题。

例:类A和类B中都有成员函数display和数据成员a,类C是类A和类B的直接派生类

情况一:

class A
{public:int a;void display();
};
class B
{public:int a;void display;
};
class C:public A,public B//公用继承
{public:int b;void show();
};

如果在main函数中定义类C的对象c1并调用数据成员a和成员函数display

C c1;
c1.a=3;//引用c1的数据成员a
c1.dispaly();//调用c1的成员函数display

由于基类A和基类B都有数据成员a和成员函数display,编译系统无法判别要访问的是哪一个基类的成员,因此,程序编译出错。

解决方法1、用基类名来限定

c1.A::a=3;//引用c1对象中的基类A的数据成员a
c2.A::display();//引用c1的成员函数display

若派生类C中的成员函数show访问基类A的display和a,可以不必写对象名而直接写

c1.A::A=3;//引用c1对象中的基类A的数据成员a
c1.A::display();//调用c1对象中的基类A的成员函数display

不同的成员函数,只有在函数名和参数个数相同、类型相匹配的情况下才发生同名覆盖,如果只有函数名相同而参数不同,不会发生同名覆盖,而属于函数重载。

虚基类的作用:

C++提供虚基类的方法,使得在继承间接共同基类时只保留一份成员。

使用虚基类发方法:

class A//声明基类A

{.........};

class B:virtual public A//声明类B是类A的公用派生类,A是B的虚基类

{......};

class C:virtual public A//声明类C是类A的公用派生类,A是C的虚基类

{......};

注意:虚基类并不是在声明基类时声明的,而是在声明派生类时,指定继承方式时声明的。

声明虚基类的一般形式为:

class 派生类名:virtual 继承方式 基类名

经过上面的声明后,当基类通过多条派生路径被一个派生类继承时,该派生类只继承该基类一次,也就是说,基类成员只保留一次。

二、虚基类的初始化

class A//定义基类A

{

        A(int i){}//基类构造函数,有一个参数

.......};

class B:virtual public A//A作为B的虚基类

{

        B(int n):A(n){}//类B构造函数,在初始化表中对虚基类初始化

...};

class C:virtual public A//A作为C的虚基类

{

        C(int n):A(n){}

......};//类C的构造函数,在初始化表中对虚基类初始化

class D:public B,public C//类D的构造函数,在初始化表中对所有基类初始化

{

        D(int n):A(n),B(n),C(n){}

......};

应用:

#include<iostream>
#include<string>
using namespace std;
class Person
{
public:Person(string nam, char s, int a) {name = nam;sex = s;age = a;}
protected:string name;char sex;int age;
};
class Teacher :virtual public Person
{
public:Teacher(string nam, char s, int a, string t) :Person(nam, s, a){title = t;}
protected:string title;
};
class Student :virtual public Person
{
public:Student(string nam, char s, int a, float sco) :Person(nam, s, a){score = sco;}
protected:float score;
};
class Graduate :virtual public Teacher, public Student//Teacher和Student为直接基类
{
public:Graduate(string nam, char s, int a, string t, float sco, float w) :Person(nam, s, a), Teacher(nam, s, a, t), Student(nam, s, a, sco){wage = w;}void show(){cout << "name:" << name << endl;cout << "age:" << age << endl;cout << "sex:" << sex << endl;cout << "title:" << title << endl;cout << "score:" << score << endl;cout << "wage:<" << wage << endl;}
private:float wage;
};
int main()
{Graduate grad1("yan_tong", 'f', 24, "saadistant", 99.9, 3000);grad1.show();return 0;
}

运行结果:

http://www.dinnco.com/news/8135.html

相关文章:

  • 荣耀手机商城官方网站荣耀60pro游戏广告投放平台
  • 网站建设选择本地杭州百度快照优化排名推广
  • 域名注册服务商网站营销必备十大软件
  • 河源网站开发太原网站制作优化seo
  • 世界工厂批发网官网搜索引擎优化seo的英文全称是
  • 传奇网站一般怎么做的线下推广怎么做
  • 新手做哪类网站怎么去推广一个产品
  • 做文案策划需要看什么网站网站搭建策略与方法
  • 网站使用用香港的空间 能挂广告吗淘宝seo排名优化软件
  • 做网站怎么做小图标郑州百度推广公司电话
  • 苏州公司做网站市场调研报告总结
  • 服务器在香港的网站谷歌seo网站推广怎么做
  • 西宁网站制作公司湖北seo服务
  • 女生学什么技术最吃香百度推广和优化哪个好
  • 网站seo好学吗新闻源软文推广平台
  • 塑料机械怎么做网站关键词排名优化公司
  • 南昌加盟网站制作广告联盟app
  • 西青天津网站建设推广互联网营销
  • 网站建设技术网站建设上海网络推广
  • 怎么做网站调查表seo是一种利用搜索引擎
  • 网站价格网页制作页面关键词优化
  • 网站有源代码如何做seo千锋教育培训怎么样
  • 建设网站定制网络营销策略包括哪四种
  • 党务公开网站怎么建设优化大师免费版
  • 网站漂浮代码百度关键词优化多少钱
  • 网站建设的功能和目标市场推广策略 包括哪些
  • 南宁免费自助建站模板免费引流推广方法
  • 制作图片用什么软件好用seo研究中心骗局
  • 网站ftp怎么登陆百度关键词怎么排名
  • 全网营销实例揭阳市seo上词外包