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

网站开发的网站运动鞋子网站建设规划书

网站开发的网站,运动鞋子网站建设规划书,简述网站建设与维护,建湖企业做网站多少钱例子如下: class B { public:void mf(); };class D : public B {};D x; // x是一个类型为D的对象 // 方式一 B* pB &x // 获得一个pB 指向 x pB->mf(); // 经由指针调用mf// 方式二 D* pD &x // 获得一个指针指向x pD->mf(); // 经由指针调用mf我…

例子如下:

class B {
public:void mf();
};class D : public B {};D x;		// x是一个类型为D的对象
// 方式一
B* pB = &x  // 获得一个pB 指向 x
pB->mf();	// 经由指针调用mf// 方式二
D* pD = &x	// 获得一个指针指向x
pD->mf();	// 经由指针调用mf

我们期望方式一和方式二调用mf 的表现是一致的。但是如果 D的实现如下

class D : public B {
public:void mf();		// 遮掩了B
};

此时方式一和方式二的表现形式就不一致了,造成这一行为的原因是: non-virtual 函数是 B::mf和D::mf都是静态绑定。意思是,由于pB是申明为指向B的指针,通过pB调用non-virtual函数永远是B所定义的版本,即时pB指向一个类型为B的派生类。

但是 virtual 函数却是动态绑定的。所以最后调用mf的时候都是调用了实际的类的哪个mf。
测试一下:

class B {
public:void mf(){std::cout << "B::mf()" << std::endl;}
};class D : public B {
public:void mf(){std::cout << "D::mf()" << std::endl;}
};int main()
{D d;std::cout << "call d.mf(): ";d.mf(); // D::mf()B* pb = &d;std::cout << "call pb->mf(): ";pb->mf(); // B::mf()D* pd = &d;std::cout << "call pd->mf(): ";pd->mf(); // D::mf()return 0;
}

输出:

call d.mf(): D::mf()
call pb->mf(): B::mf()
call pd->mf(): D::mf()
http://www.sczhlp.com/news/127097/

相关文章:

  • flash网站优化微商已经被国家定为传销了
  • 跑步机 东莞网站建设python运维网站开发
  • 阿里巴巴网站怎样做的漂亮杭州市西湖区建设局网站
  • 网站代码免费的适合个人做的网站有哪些东西
  • 泸州市往建局建设银行网站名称西安 网站开发 招聘
  • 与安网站建设网站建设与管理是哪个软件
  • 速拓科技是做网站加盟合作招商
  • 大埔网站建设中山网站建设如何
  • 建设网站用户名做网站一般不选用的图片格式
  • wampserver做的网站昆山网站备案
  • 能打开的网站二十四节气网页界面设计
  • 旅游类网站开发设计报告电子政务网站建设的挑战
  • 学校网站建设需求分析调研表互联网推广营销隐迅推我选
  • 兰州网站制作公司怎么样做网站盈利
  • 专业商城网站搭建价格学python能干嘛
  • 网站制作 手机网站维护与更新
  • 勒流网站制作wordpress添加主题不显示
  • 上海市青浦区建设局网站开源商城系统源码
  • 哪个网站做高仿衣服充值网站怎么做的
  • 免费网站制作范例青海网站设计高端
  • 山东网站集约化建设网站找图片做海报侵权
  • 中山网站建设托管网站建设_app开发
  • 公司网站制作投标谷歌play商店
  • wordpress头部空白2021黑帽seo
  • 中国空间站有几个舱段百度竞价推广账户
  • 网站建设的基本流程包括什么东莞市新闻头条
  • 河南中恒诚信建设有限公司网站西安做网站 送百度首页
  • 制作伪装网站互联购物
  • 网站开发用户登陆的安全企业管理体系包含哪些内容
  • 怎么做网站有利于收录苏州有什么好玩的地方适合年轻人