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

封装系统如何做自己的网站百度快照

封装系统如何做自己的网站,百度快照,毕业设计论文网站,绘画做动作的网站【学习笔记】重载和重写的注意事项 特征重载(Overloading)重写(Overriding)发生位置同一个类中/父子类之间也可以父子类之间目的扩展功能(增加新的参数组合)修改父类行为参数列表必须不同必须相同返回类型…

【学习笔记】重载和重写的注意事项

特征重载(Overloading)重写(Overriding)
发生位置同一个类中/父子类之间也可以父子类之间
目的扩展功能(增加新的参数组合)修改父类行为
参数列表必须不同必须相同
返回类型可相同或不同(但不能仅依赖返回类型区分)必须相同
隐藏关系父子类之间,子类隐藏父类同名方法(需 using 声明)子类覆盖父类方法
关键字无需特殊关键字C++: override
(override 明确表明派生类中的函数是在重写基类的虚函数)

重载:

class Calculator {
public:// 方法重载:参数类型不同int add(int a, int b) { return a + b; }double add(double a, double b) { return a + b; }// 方法重载:参数数量不同int add(int a, int b, int c) { return a + b + c; }
};

重写:

class Animal {
public:virtual void makeSound() {std::cout << "Animal makes a sound" << std::endl;}
};class Dog : public Animal {
public:// 重写父类方法void makeSound() override {std::cout << "Dog barks" << std::endl;}
};

注意点(父子的重载):

父子类的重载需要注意一个问题,函数隐藏规则:子类中的 ProcessRequest 会隐藏父类中的所有同名函数,无论参数列表是否相同。

class Base {
public:virtual bool ProcessRequest(int id) { return true; }
};class Derived : public Base {
public:bool ProcessRequest(int id, bool verbose) { return false; }  // 参数不同,是重载
};

结果呈现:

int main() {Derived d;// 正确:调用 Derived::ProcessRequest(int, bool)d.ProcessRequest(42, true);  // 错误:无法通过 Derived 对象调用 Base::ProcessRequest(int)// d.ProcessRequest(42);  // 编译错误!// 正确:通过基类指针调用 Base::ProcessRequest(int)Base* b = &d;b->ProcessRequest(42);  // 输出 "true"return 0;
}

​ ● 通过 Derived 对象无法直接调用 ProcessRequest(int),除非使用 using Base::ProcessRequest。

​ ● 通过 Base 指针调用 ProcessRequest(int) 时,实际执行的是 Base 类的方法,而非 Derived 的重载版本。

解决方法:使用using引入父类的方法。

class Derived : public Base {
public:using Base::ProcessRequest;  // 引入父类的 ProcessRequest(int)// 子类的重载版本bool ProcessRequest(int id, bool verbose) { return false; }
};

总结:

但是一般重写是在父子类中,重载是在同一个类中。但是需要注意父子重载过程中存在的父类函数隐藏的问题。

http://www.hkea.cn/news/744385/

相关文章:

  • 做网站需要招聘内容范本信息流广告
  • 如何建公众号外贸网站建设优化
  • 怎么把网站横幅做很大东莞营销推广公司
  • 网站运营与管理实训报告松松软文平台
  • 奉化云优化seo手机网站排名优化软件
  • h5响应式集团网站推荐电商平台有哪些?
  • 企业所得税税率三个档次关键词优化快排
  • 长宁区网站建设b2b免费发布平台
  • php 个人网站网站安全检测工具
  • 做的网站很卡是什么原因seochan是什么意思
  • 怎么做盗版视频网站吗百度权重1
  • 政府网站 建设 计划品牌推广策划方案案例
  • 临沂网站建设那家好小米市场营销案例分析
  • 德化网站建设企业中层管理人员培训课程
  • 网站怎么通过流量赚钱爱站网能不能挖掘关键词
  • 网站建设课后感营销型网站有哪些平台
  • 哪个网站做生鲜配送厦门seo外包公司
  • 水电行业公司设计logo重庆seo排名扣费
  • 可信赖的南昌网站制作站长工具网站
  • 济南建站公司电话成都关键词自然排名
  • 门户网站开发公司推广网页
  • 如何做网站认证实时军事热点
  • 上海的网站建设公司哪家好企业网站建设
  • 专业b2c电商网站制作网站推广要点
  • 现在的网站用什么程序做百度云官网登录入口
  • vs做网站怎样加数据库新闻小学生摘抄
  • 广州做网站mxszpt小说排行榜
  • 有什么网站是python做的网站营销策划公司
  • 长春有什么好的网站制作公司链接购买
  • 毕设网站佛山网站建设十年乐云seo