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

公司网站建设的步骤常州企业网站

公司网站建设的步骤,常州企业网站,支付网站开发费可以做无形资产,如何免费建立可以交流的网站1.重载与覆盖 重载#xff1a;成员函数被重载的特征#xff1a;在同一个类中#xff0c;函数名相同#xff0c;参数不同#xff0c;vritual关键字可有可无。 覆盖#xff1a;覆盖是指派生类函数覆盖基类函数#xff0c;特征是#xff1a;在有继承关系的类中#xff0…1.重载与覆盖 重载成员函数被重载的特征在同一个类中函数名相同参数不同vritual关键字可有可无。 覆盖覆盖是指派生类函数覆盖基类函数特征是在有继承关系的类中函数名相同参数相同基类必须有vritual关键字。 2.隐藏 前面的介绍你或许很清楚但是要是再加上隐藏就很迷惑了 这里“隐藏”是指派生类的函数屏蔽了与其同名的基类函数规则如下 1如果派生类的函数与基类的函数同名但是参数不同。此时不论有无 virtual 关键字基类的函数将被隐藏注意别与重载混淆。 2如果派生类的函数与基类的函数同名并且参数也相同但是基类函数没有 virtual关键字。此时基类的函数被隐藏注意别与覆盖混淆 1函数 Derived::f(float)覆盖了 Base::f(float)。 2函数 Derived::g(int)隐藏了 Base::g(float)而不是重载。 3函数 Derived::h(float)隐藏了 Base::h(float)而不是覆盖。 #include iostream.h class Base { public: virtual void f(float x){ cout Base::f(float) x endl; } void g(float x){ cout Base::g(float) x endl; } void h(float x){ cout Base::h(float) x endl; } }; class Derived : public Base { public: virtual void f(float x){ cout Derived::f(float) x endl; } void g(int x){ cout Derived::g(int) x endl; } void h(float x){ cout Derived::h(float) x endl; } }; 一个小示例 void main(void) { Derived d; Base *pb d; Derived *pd d; // Good : behavior depends solely on type of the object pb-f(3.14f); // Derived::f(float) 3.14 pd-f(3.14f); // Derived::f(float) 3.14 // Bad : behavior depends on type of the pointer pb-g(3.14f); // Base::g(float) 3.14 pd-g(3.14f); // Derived::g(int) 3 (surprise!) // Bad : behavior depends on type of the pointer pb-h(3.14f); // Base::h(float) 3.14 (surprise!) pd-h(3.14f); // Derived::h(float) 3.14 } 3.摆脱隐藏 隐藏规则引起了不少麻烦。下面示例 程序中语句 pd-f(10)的本意是想调用函数Base::f(int)但是 Base::f(int)不幸被 Derived::f(char *)隐藏了。由于数字 10 不能被隐式地转化为字符串所以在编译时出错。 class Base { public: void f(int x); }; class Derived : public Base { public: void f(char *str); }; void Test(void) { Derived *pd new Derived; pd-f(10); // error }从示例看来隐藏规则似乎很愚蠢。但是隐藏规则至少有两个存在的理由 写语句 pd-f(10)的人可能真的想调用 Derived::f(char *)函数只是他误将参数写错了。有了隐藏规则编译器就可以明确指出错误这未必不是好事。否则编译器会静悄悄地将错就错程序员将很难发现这个错误流下祸根。假如类 Derived 有多个基类多重继承有时搞不清楚哪些基类定义了函数 f。如果没有隐藏规则那么 pd-f(10)可能会调用一个出乎意料的基类函数 f。尽管隐藏规则看起来不怎么有道理但它的确能消灭这些意外。 如果语句 pd-f(10)一定要调用函数 Base::f(int)那么将类 Derived 修改为如下即可。 class Derived : public Base { public: void f(char *str); void f(int x) { Base::f(x); } };
http://www.dnsts.com.cn/news/197160.html

相关文章:

  • 电商网站设计的原则天津网站建设公司最好
  • 网站可以备案先提交类别后来改么英迈思做网站做的怎样
  • 沈阳高端网站制作淄博制作网站的公司
  • 企业网站哪家好设置网站关键词
  • 建站的公司wordpress.org去掉
  • 怎么做别人可以上的网站wordpress 采集文章
  • 滕州做网站的多少工程公司注册经营范围
  • 做网站类网站费用公众号开发者模式怎么关闭
  • 网站建设项目的结论网站开发就业
  • php网站源代码2014网站建设
  • 项目外包+网站开发网站域名到期怎么续费
  • 潍坊市网站优化宁波seo站外优化推广
  • 网站策划书优势怎么分析phonegap wordpress
  • 湖北省住房和城乡建设部门户网站漳州网站开发去博大钱少a
  • 番禺做网站系统做外链等于网站更新么
  • 微信开放平台官网登录简述seo的基本步骤
  • app嵌入手机网站一个内部网站如何做外网映射
  • 汕头搭建建站电商怎么做?如何从零开始学做电商赚钱
  • 织梦网站源码下载上海浦东刚刚发生的命案
  • html手机网站开发教程wordpress暗箱
  • 河北三河建设厅网站东营网站的优化
  • 长沙网站建设有哪些wap页面模板
  • 记事本里做网站 怎么把字体个人域名备案快的网站
  • 那些做面点的网站好青岛市最大的网络公司是哪里
  • pc端和移动端的网站区别是什么意思天津做网站哪家公司好
  • 申请免费网站域名顺德网站建设案例
  • 天长网站seo合肥网络推广营销
  • 厦门网站建设培训班厦门在哪个网站做用工报备
  • 无极限网站模板外贸营销员国家职业技能标准
  • 哈尔滨网站建设 哈尔滨网站推广影视传媒广告公司网站模板