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

数码电子产品网站名称android应用开发软件

数码电子产品网站名称,android应用开发软件,比较好的网站建设平台,安徽网站建设推广创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
🔥c++系列专栏:C/C++零基础到精通 🔥

给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ

在这里插入图片描述

c语言内容💖:

专栏:c语言之路重点知识整合

【c语言】全部知识点总结


目录

  • 一、隐藏
  • 二、父类指针指向子类对象

一、隐藏

在同一个类中,两个只有参数列表不同(同名同返回类型)的函数能构成函数重载,我们调用的时候,可以根据参数类型、参数个数,编译器自动匹配调用哪个函数。

例如:

class CTest 
{void fun();void fun(int a);void fun(char a);
}

如果在父类和子类中出现同名函数,由于在不同的类中即不同的作用域,即使函数的参数列表不同,也不能构成函数重载

这种情况称为隐藏

C++中,当一个派生类定义了一个和基类同名的成员函数时,基类的同名函数会被隐藏,这种现象称为隐藏

#include <iostream>
using namespace std;
class CFather
{
public:void fun(){cout << "CFather::fun()" << endl;}
};
class CSon :public CFather
{
public:void fun(){cout << "CSon::fun()" << endl;}
};
int main()
{CSon test; test.fun();	//不是函数重载(不是同一个作用域) 自动匹配子类 不能匹配父类//隐藏	隐藏:子类定义了和父类同名的成员称之为隐藏return 0;
}

运行发现:子类对象调用函数时自动调用了子类中的fun()函数

在这里插入图片描述

在隐藏下,如果不使用类名作用域指定,在子类对象调用函数时,编译器会自动调用子类中的同名函数

在这里插入图片描述

二、父类指针指向子类对象

在继承的条件下,父类的指针可以不通过强转指向子类对象:

	CSon son;CFather* const pthis = &son;	//在继承的条件下,父类的指针可以不通过强转直接指向子类对象pthis->fun();

反过来却不行:

	CFather fa;CSon* pson = &fa;	//error:子类的指针不能指向父类的对象

由于父类指针可以指向子类对象,父类指针就可以直接调用子类中的成员函数

父类的指针可以统一多个类的类型,提高代码的复用性、扩展性


例如:

CSheepCPigCDog类继承CPet,通过父类指针统一管理三种子类对象

使用一个父类指针调用共有的方法,即可省下大量重复代码:

#include <iostream>
#include <string>
using namespace std;
class CPet
{
public:int m_weight;void walk(){cout << "散步" << endl;}CPet(){m_weight = 20;}
};
class CSheep:public CPet
{
public:void like(){cout << "喜欢吃草" << endl;}
};
class CPig :public CPet
{
public:void like(){cout << "喜欢胡萝卜" << endl;}
};
class CDog :public CPet
{
public:void like(){cout << "喜欢骨头" << endl;}
};//void fun(CSheep* pCS)
//{
//  cout <<"体重: " << pCS->m_weight << endl;
//	CS->like();
//	CS->walk();
//}
//void fun(CPig* pCP)
//{
//  cout <<"体重: " << pCP->m_weight << endl;
//	CP->like();
//	CP->walk();
//}
//void fun(CDog* pCD)
//{
//  cout <<"体重: " << pCD->m_weight << endl;
//	CD->like();
//	CD->walk();
//}
void fun(CPet *pCPet)		//父类的指针可以统一多种子类类型,减少代码的冗余,提高程序复用性、扩展性
{cout <<"体重: " << pCPet->m_weight << endl;//pCPet->like();	//父类的指针只能使用父类的成员,不能使用子类的成员    pCPet->walk();
}int main()
{fun(new CSheep);fun(new CPig);fun(new CDog);void (CPet:: * p_CS)() = (void (CPet::*)()) & CSheep::like;CPet pet;(pet.*p_CS)();return 0;
}

也将实现C++的多态


在这里插入图片描述

大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●)
http://www.yayakq.cn/news/761423/

相关文章:

  • 神华公司两学一做网站益阳网站建设网站
  • 聊城网站公司深圳谷歌网络推广公司
  • 京东客网站怎么做wordpress查询数据库乱码
  • 域名网站查询石家庄网站建站推广
  • thinkphp3.2 企业网站源码惠州惠阳网站建设
  • 可以在线编程的网站wordpress换域名后图片路径不对
  • 如何填写网站建设计划表网站开发属于程序员吗
  • 建材城电商网站建设网站兼容怎么调
  • asp.net做网站头部和尾部_都用什么来实现电子商务网站的建设
  • 济南地产行业网站开发衡东网络推广公司
  • 常州市网站建设设计怎么做试玩平台推广网站
  • 简单的工作室网站模板焦作网站建设哪家权威
  • 在网站建设流程中编程属于()阶段四川建设网共享平台
  • 网站建设模板可用吗买外链
  • 大学生毕业设计课题做网站网络违法犯罪网站举报
  • wordpress浮窗音乐百度seo关键词优化排行
  • 中核西北建设集团网站营销推广
  • 上海闵行做网站的公司重庆企业建站公司
  • 简单建设网站dedecms手机网站开发
  • 做的网站有广告图片微信网站开发是什么
  • 东莞电商网站建设html基本结构代码
  • 做游戏的外包网站建行个人网上银行登录入口官网
  • 丹灶网站建设案例南宁建站模板展示
  • 求职网站开发多少钱婚庆公司收费标准
  • 城乡企业建设部网站友情链接方面pr的选择应该优先选择的链接为
  • 网站架构设计师月薪多少企业专业网站建设哪家好
  • 网站建设哪个语言好祥云网站推广
  • 松江新城建设有限公司网站中国app开发公司排名
  • 电商网站建设与运行千图网app下载
  • 做网站什么什么为什么几年前做的网站视频看不了