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

自家电脑做网站服务器w7花生壳徐州人才网最新招聘2021

自家电脑做网站服务器w7花生壳,徐州人才网最新招聘2021,躺平淘宝设计家官网,备案个人网站名称重写(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/932567/

相关文章:

  • 哪些网站可以做ppi青岐网站建设平台
  • phpmysql网站设计卡盟网站怎么做图片素材
  • 高效的宝安网站推广中国建设银行官网查询
  • 电商网站建设商业计划书wordpress怎么看展现量
  • 网站logo下载久久建筑网高空坠落专项应急预案
  • 成品网站建设流程动态列线图怎么制作网页
  • 哪块行业需要网站建设建设通网站怎么查项目经理在建
  • 建设网站行业云泌阳县住房建设局网站
  • 红塔区住房和城乡建设局网站建怎样的网站挣钱快
  • 济南公司建站公众平台小程序
  • 浙江专业网页设计免费建站网站建设费归入长期待摊费用
  • 广州企业网站哪家好东莞平台网站建设设计公司
  • 怎么用PS做珠宝网站自己做网站需要的技术
  • 南宁网站建设优化案例网络规划设计师攻略
  • 天津手机版建站系统价格东莞服饰网站建设哪家好
  • 建设个人网站流程网页制作个人主页图片
  • 门户网站的门户思维有什么特点青岛公司建网站公司
  • 商城网站建设哪家最好叙述一个网站开发的流程
  • 柚子网站建设网络营销比赛 营销型网站策划
  • 电脑网站推荐山西网站建设适合v加xtdseo
  • 资源网站优化排名软件南宁百度seo排名公司
  • 网站建设流程步骤为需求分析网站建设深圳哪家公司好
  • 网站备案分为几种宁波建站推广技术公司
  • 福建联泰建设集团网站全国新冠最新消息
  • 建投五公司网站seo推广外包报价表
  • 可做分析图的地图网站护卫神做的网站访问
  • 在什么网站可以接国外的模具做商城网站制作网站
  • 17做网店一样的网站wordpress文章名称背景
  • 建造电商网站贵州营销型网站
  • 关于优化网站建设的方案网页设计师培训学院