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

网站推广 教程北京疫情最新消息

网站推广 教程,北京疫情最新消息,济南公司建设网站,工装公司名字怎么起考虑以下代码: int x; void someFunc() {double x;std::cin >> x; };读取数据的语句涉的是局部变量x,而不是全局变量x,因为内层作用域的名称会遮掩外围作用域的名称。 考虑以下的类: class Base { private:int x; public:virtual vo…

考虑以下代码:

int x;
void someFunc()
{double x;std::cin >> x;
};

读取数据的语句涉的是局部变量x,而不是全局变量x,因为内层作用域的名称会遮掩外围作用域的名称。

考虑以下的类:

class Base
{
private:int x;
public:virtual void mf1() = 0;virtual void mf2();void mf3();...
};
class Derived:public Base
{
public:virtual void mf1();void mf4();...
}

假设derived class内的mf4的实现代码部分像这样:

void Derived::mf4()
{...mf2();...
}

当编译器看到mf2,编译器的做法是查找各作用域,首先查找mf4覆盖的作用域,没找到,然后查找类Derived覆盖的作用域,还是没找到,于是继续往外找,在base class里面找到了一个mf2的东西,于是停止查找.

这次我们重载mf1,mf3,并添加一个新版的mf3到Derived中:

class Base
{
private:int x;
public:virtual void mf1() = 0;virtual void mf1(int);virtual void mf2();void mf3();void mf3(double);...
};
class Derived:public Base
{
public:virtual void mf1();void mf3();void mf4();...
}

考虑以下调用:

Derived d;
int x;
...
d.mf1();
d.mf1(x);
d.mf2();
d.mf3();
d.mf3(x);

其中d.mf1(x)d.mf3(x)可能会让你意外,因为它们都是错误的,主要原因在于:Derived::mf1Derived::mf3遮掩了Base的

解决办法很简单,可以使用using声明式达成目标:

class Base
{
private:int x;
public:virtual void mf1() = 0;virtual void mf1(int);virtual void mf2();void mf3();void mf3(double);...
};
class Derived:public Base
{
public:using Base::mf1;using Basee::mf2;virtual void mf1();void mf3();void mf4();...
}

假设我们仅仅想要继承基类的mf1是那个无参数的版本,这个时候using声明就不管用了,因为using声明会让继承而来的给定名称的所有同名函数在派生类中都可见,这个时候就需要转交函数了:

class Base
{
private:int x;
public:virtual void mf1() = 0;virtual void mf1(int);...
};
class Derived:public Base
{
public:virtual void mf1() //转交函数{Bsee:mf1();}...
}

总结:

1.派生类内的名称会遮掩基类内的名称。
2.为了让被遮掩的名称重见天日,可使用using语句或转交函数.

http://www.lbrq.cn/news/2365741.html

相关文章:

  • 网站制作最新技术的百度品牌专区怎么收费
  • 长沙网站建设团队创建网址快捷方式
  • app和网站趋势药品销售推广方案
  • wordpress beginningseo入门课程
  • 酒店网站建设策划方案东莞做网站的公司有哪些
  • 做民宿房东怎样上网站卖房黑帽seo是作弊手法
  • 手机网站建设要多少钱南宁seo团队哪家好
  • 做欧美市场的网站厦门人才网官网
  • wordpress投稿者权限一键seo提交收录
  • 花生壳做网站需要备案爱奇艺科技有限公司
  • 青岛电商网站建设seo优化关键词分类
  • 汽车网站建设页面培训seo哪家学校好
  • 个人怎么样做网站站长工具关键词查询
  • 做网站打电话话术江西省水文监测中心
  • 曹县住房和城乡建设局网站友情链接检索数据分析
  • 深圳地产网站制作公司最新网络推广平台
  • 烟台主流网站东莞互联网公司排名
  • WordPress分段插件沈阳seo网站关键词优化
  • 七宝网站建设crm
  • 哈尔滨阿城网站建设seo是指
  • 宜昌网站建设哪家好怎么制作一个网站5个网页
  • 深圳楼市最新消息西安seo按天收费
  • 网站建设也笔试如何让新网站被收录
  • 帝国网站建设业务推广公司
  • 网站建设模型软件谷歌seo 优化
  • 凌风wordpress视频哈尔滨优化网站方法
  • 济南定制网站建设seo搜索引擎招聘
  • 广东东莞疫情最新消息通知广州网站优化服务商
  • 挂马网站教程seo的搜索排名影响因素有哪些
  • 武汉衍艺 网站建设在百度上打广告找谁
  • 暑期自学嵌入式——Day05(C语言阶段)
  • Install Docker Engine on UbuntuMySQL
  • 实训十一——网络通信原理
  • Linux 文件系统实现层详解:原理、结构与驱动衔接
  • git起步
  • 运维技术教程之Jenkins的秘钥设置