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

济南多语言网站建设江门网站开发公司

济南多语言网站建设,江门网站开发公司,如何注册域名免费,谁做的12306网站重写(Override)和重载(Overload)是面向对象编程中常用的两个概念,它们虽然都涉及到方法的定义,但是在实现和使用上有着不同的特点。 重写(Override): 重写是指在子类中重…

重写(Override)和重载(Overload)是面向对象编程中常用的两个概念,它们虽然都涉及到方法的定义,但是在实现和使用上有着不同的特点。

重写(Override):
重写是指在子类中重新定义(覆盖)了父类中的某个方法,方法名、参数列表和返回类型必须完全一致。重写的目的是为了在子类中修改或者扩展父类方法的行为,使得子类能够根据自身的特点来实现特定的功能,当子类对象调用被重写的方法时,将执行子类中的方法,而不是父类中的方法。

示例:

//父类
class Animal
{
public:Animal(){};~Animal(){};//动物:吃行为void eat(){std::cout << "Eat 函数" << std::endl;}
};
​
//子类
class Cat : public Animal
{
public:Cat(){};~Cat(){};//子类中重写eat方法void eat() {std::cout << "Cat Eat 函数" << std::endl;}
};

Cat类中定义了一个与父类中eat()函数同名的函数,这是方法的重写。这意味着当在Cat类的对象上调用eat()函数时,将会执行Cat类中的eat()函数而不是父类中的eat()函数。

那么此时再程序中创建Cat对象并调用其eat函数:

int main() {Cat * catObjA = new Cat;catObjA->eat();delete catObjA;
​system("pause");return 0;
}

结果为:

如果这个时候还想使用子类对象调用其父类的成员方法时就需要使用::符号进行调用:

int main() {Cat * catObjA = new Cat;//子类中的eat方法catObjA->eat();//调用父类中的eat方法catObjA->Animal::eat();delete catObjA;
​system("pause");return 0;
}

此时就能够正常调用父类中的成员方法:

重载(Overload)
重载是指在同一个类中定义多个方法,它们具有相同的名称但是参数列表不同(参数类型、参数个数或参数顺序不同)的特点,重载的目的是为了让方法在功能上相似但参数不同的情况下能够使用相同的名称,从而提高代码的可读性和易用性。编译器根据方法调用时提供的参数列表来确定调用哪个重载版本的方法。

示例:

class Cat
{
public://函数重载void run() {std::cout << "Cat Run 函数" << std::endl;}
​void run(int acount) {std::cout << acount << "个 Cat Run 函数" << std::endl;}
​void run(int a,int b) {std::cout << a+b << "个 Cat Run 函数" << std::endl;}
}

这段代码展示了C++中的函数重载(Function Overloading)的情况;一个简单的类,其中包含了三个名为run()的成员函数,它们的参数列表不同。

  • 第一个run()函数没有参数,当调用它时,输出"Cat Run 函数"。

  • 第二个run()函数接受一个整数参数acount,当调用它时,输出"acount 个 Cat Run 函数"。

  • 第三个run()函数接受两个整数参数ab,当调用它时,输出"a + b 个 Cat Run 函数"。

这种情况被称为函数重载。函数重载是指在同一个作用域内定义了多个名称相同但参数列表不同的函数。编译器会根据调用时提供的参数类型和数量来决定调用哪个版本的函数。

在主函数中进行Cat对象创建且调用cat对象中重载的run方法:

int main() {Cat * catObj = new Cat;catObj->run();catObj->run(1);catObj->run(1, 2);delete catObj;system("pause");return 0;
}

编译器自动根据调用时提供的参数类型和数量来决定调用哪个版本的函数。

http://www.yayakq.cn/news/832789/

相关文章:

  • 17做网站广州沙河地址帮人恶意点击网站
  • 商丘做网站seo淘宝销售书网站建设方案
  • 制作网站用的域名长沙seo培训班
  • 休闲度假村网站建设方案wordpress图片缓冲
  • 网站定位案例赣州管理中心网站
  • 网站建设怎么样qiniu cloud for wordpress
  • 针对网站做的推广方案浙江常规网站建设
  • 如何实现网站开发手机验证码国内推广平台
  • wordpress调用网站最新文章河南免费网站建设哪家好
  • 网站申请支付宝支付重庆网站开发公
  • 九江茶叶网站建设免费网站源码...
  • 怎么做试玩平台推广网站做网站赔钱了
  • 西安住房和城乡建设部网站平面设计公司怎么找客户
  • 怎么做一个国外网站建网站 广州
  • 电子商务网站建设网站电子版百度seo课程
  • 做网站好学吗网站空间免
  • 别人在百度冒用公司旗号做网站搜索引擎公司排名
  • 培训网站开发深圳专业专业网站建设公司
  • 专门做照片书的网站app推广接单渠道
  • 创造网站软件上海行业门户网站建设技术
  • 贵阳网站开发zu97能源公司网站模板
  • 怎么做跳转网站首页不锈钢网站哪家最专业
  • 建设银行网站定酒店婚纱外贸网站
  • 做电脑网站用什么软件有哪些网站建设制作设计珠海
  • 上饶商城网站建设wordpress一键分享插件
  • python3 网站开发实例在线制作印章diy印章
  • 免费送网站网站开发与应用论文
  • 上海网站制作福州奥远科技网站建设流程
  • 网站开发行业知识新闻大批量刷关键词排名软件
  • 大学精神文明建设专题网站网站建设对企业的发展