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

做网站开发的想接私活邵阳网站seo

做网站开发的想接私活,邵阳网站seo,哪个网站找做软件,浙江网站备案加急目录 1.函数重载 1.1定义 1.2函数重载的规则: 1.3函数重载的作用: 2.函数重写: 2.1定义 2.2例子: 3.函数隐藏 3.1定义 3.2举个例子: 1.函数重载 1.1定义 我们在学类和对象的封装特性时学过一个词叫重载&#xff0c…

  目录

1.函数重载

        1.1定义

        1.2函数重载的规则:

        1.3函数重载的作用:

2.函数重写:

        2.1定义

        2.2例子: 

3.函数隐藏

        3.1定义

        3.2举个例子:


1.函数重载

        1.1定义

        我们在学类和对象的封装特性时学过一个词叫重载,函数重载,就是函数重载是一种特殊情况,C++允许在同一作用域中声明几个类似的同名函数,这些同名函数的形参列表(参数个数,类型,顺序)必须不同,常用来处理实现功能类似数据类型不同的问题。

案例如下:

void Swap1(int* a, int* b);
void Swap2(float* a, float* b);
void Swap3(char* a, char* b);
void Swap4(double* a, double* b);

这四个Swap函数都是函数重载,同名,但形参列表不同形成的函数。

 

        1.2函数重载的规则:

1.函数名称必须相同。
2.参数列表必须不同(个数不同、类型不同、参数排列顺序不同等)。
3.函数的返回类型可以相同也可以不相同。
4.仅仅返回类型不同不足以成为函数的重载。

        

        1.3函数重载的作用:

        在同一个作用域内用同一个函数名,命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。

2.函数重写:

        2.1定义

        重写也叫覆盖,重写表明在继承了父类的子类中编写了一个与父类的函数名称,函数参数,函数返回值完全相同的一个函数,子类可以用此方法以实现不同的功能,进而实现多态的特性。所以总结出函数重写一般用于:“子类在继承父类时,重写(覆盖)父类中的方法”。函数特征完全相同,但是具体实现可以不同——(即外面的轮廓长相必须完全相同,里面的性格习惯可以不同)。

        2.2例子: 

//父类
class Person {
public:void virtual Buy_Ticket() {cout << "Person权限——全票购买" << endl;}
};//子类1:
class Student :public Person {
public:void virtual Buy_Ticket() {cout << "Student权限——半价购买" << endl;}
};//子类2:
class Soldier :public Person {
public:void virtual Buy_Ticket() {cout << "Soldier权限——优先购买" << endl;}
};

        在上方代码中,两个子类的Buy_Ticket函数就形成了对父类的Buy_Ticket函数的重写。子类写的这个函数达到了与父类的函数名、参数、返回值完全相同的函数。 

3.函数隐藏

        3.1定义

           在学习继承的过程中,我们又学到了一个新词汇:隐藏,也可以叫重定义。

       隐藏就是说,隐藏是指子类的函数屏蔽了与其同名的父类函数。如下:


两个函数分别在父类和子类的作用域中,函数名相同
两个父类和子类的同名函数不构成重写,那么一定构成隐藏(重定义)

        3.2举个例子:

class A {
public:void Sleep() {cout << "睡好觉" << endl;}
};class B :public A {
public:void Sleep(int a) {a++;cout << "睡长觉" << endl;}
};int main(){A a;B b;a.sleep();b.sleep();    //报错b.A::sleep();    //正确return 0;
}

        在上图代码中,类A和类B都有一个相同名称的Sleep函数,由于类B是公有继承类A,那么类B中会有从类A继承过来的无参的Sleep()函数,而B类对象b想要调用无参的Sleep()函数,是会报编译错误的,因为子类B会将继承过来的成员函数进行隐藏,那么编译器通过执行对象b想调用无参Sleep()函数,发现子类中没有无参Sleep()函数,报错!!! 子类偷偷藏起来了,所以编译器找不到!

        而想要调用隐藏函数需要指定作用域! b.A::sleep();

http://www.yidumall.com/news/68481.html

相关文章:

  • 百度app下载windows优化大师好用吗
  • 榆林做网站windows优化大师的作用
  • 自家电脑做网站服务器w7花生壳百度经验怎么赚钱
  • 聊城做网站的公司渠道网络销售每天做什么
  • 中国免费网站申请百度指数数据分析平台
  • 网站建设零基础教学郑州百度seo关键词
  • 网站建设技术招聘方象科技专注于什么领域
  • 游戏开发与网站开发哪个难营销说白了就是干什么的
  • 西安网站建设ruiqinet宁波seo关键词优化教程
  • 网站微信登录怎么做本地推广最好用的平台
  • 南阳网站推广优化公司淘宝关键词优化工具
  • 如何做网站图片如何设计与制作网页
  • 工厂型企业做网站教育培训机构管理系统
  • 深圳房管局官网查询系统关键词优化报价推荐
  • 做视频赚钱的好网站互联网营销策略有哪些
  • 主机做网站服务器吗线上销售平台都有哪些
  • 国际新闻大事件seo关键词排名优化价格
  • 制作app怎么制作四川seo优化
  • 网站改版需要注意齐三seo顾问
  • 慈善组织网站建设方案百度学术论文查重官网入口
  • 网站建设优化价格搜索引擎优化seo怎么做
  • 模板网站有后台么google官网注册
  • 安远县城乡规划建设局网站2024会爆发什么病毒
  • 做那个免费观看视频网站百度识图识别
  • 横岗网站制作中国最新领导班子
  • 免费视频素材网站哪个最好罗湖区seo排名
  • wordpress局域网404百度seo招聘
  • 网站建设面临的困难广州白云区新闻头条最新消息今天
  • wordpress 七牛上传插件长沙弧度seo
  • 网站设计的目的seo快排软件