内联函数和成员函数的区别是什么?

网上有关“内联函数和成员函数的区别是什么? ”话题很是火热 ,小编也是针对内联函数和成员函数的区别是什么?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您 。

内联函数是指在调用衣柜函数时 ,不把他当作调用而处理,而是把这个函数的代码直接在调用他的函数里展开的形式,也可以理解为内联函数就相当于一段代码。不需要调用 ,效率就高些。成员函数是类中声明的函数,属于类 。当然如果在类中定义的成员函数自动变为内联函数。

类中定义的数据成员和成员函数的两个概念谁能帮我理清楚一下,分别解释下以及两者区别

1.成员函数被重载的特征:

(1)相同的范围(在同一个类中);

(2)函数名字相同;

(3)参数不同;

(4)virtual

关键字可有可无。

2.覆盖是指派生类函数覆盖基类函数 ,特征是:

(1)不同的范围(分别位于派生类与基类);

(2)函数名字相同;

(3)参数相同;

(4)基类函数必须有virtual

关键字 。

3.“隐藏”是指派生类的函数屏蔽了与其同名的基类函数 ,规则如下:

(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字 ,基类的函数将被隐藏(注意别与重载混淆)。

(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual

关键字 。此时 ,基类的函数被隐藏(注意别与覆盖混淆) 。

有关重载,应该是很好理解的(在同一个类中,函数名相同 ,函数的参数类型和个数不同),此处不予更多的说明,对于覆盖和隐藏(主要在基类和派生类中体现) ,借助下面这个例子来直观的说明:

#include<iostream>

using

namespace

std;

class

People

{

public:

//

隐藏:是指派生类的函数屏蔽基类函数

//

隐藏规则1:

//

1)

函数名相同

&&

参数不同

//

2)

virtual不影响

void

getId_different_params()

{cout

<<

"People::getId_different_params"

<<

endl;}

virtual

void

getName_different_params()

{cout

<<

"People::getName_different_params"

<<

endl;}

//

隐藏规则2:

//

1)

函数名相同

&&

参数相同

//

2)

无virtual

void

getPhone_same_params()

{cout

<<

"People::getPhone_same_params"

<<

endl;}

//

覆盖规则:

//

1)

函数名相同

&&

参数相同

//

2)

有virtual

virtual

void

getAddress_same_params()

{cout

<<

"People::getAddress_same_params"

<<

endl;}

};

class

Children

:

public

People

{

public:

//

隐藏:是指派生类的函数屏蔽基类函数

//

隐藏规则1:

//

1)

函数名相同

&&

参数不同

//

2)

virtual不影响

void

getId_different_params(int)

{cout

<<

"Children::getId_different_params(int)"

<<

endl;}

virtual

void

getName_different_params(int)

{cout

<<

"Children::getName_different_params(int)"

<<

endl;}

//

隐藏规则2:

//

1)

函数名相同

&&

参数相同

//

2)

无virtual

void

getPhone_same_params()

{cout

<<

"Children::getPhone_same_params"

<<

endl;}

//

覆盖规则:

//

1)

函数名相同

&&

参数相同

//

2)

有virtual

virtual

void

getAddress_same_params()

{cout

<<

"Children::getAddress_same_params"

<<

endl;}

};

void

main()

{

Children

*c

=

new

Children();

c->getId_different_params(1);

c->getName_different_params(1);

c->getPhone_same_params();

c->getAddress_same_params();

/*输出为:

Children::getId_different_params(int)

Children::getName_different_params(int)

Children::getPhone_same_params

Children::getAddress_same_params

*/

People

*p

=

new

Children();

p->getId_different_params();

p->getName_different_params();

p->getPhone_same_params();

p->getAddress_same_params();

/*输出为:

People::getId_different_params

//由于子类中的函数只是隐藏了基类中的函数而没有覆盖,因为指针为基类指针,故调用基类函数

People::getName_different_params

//由于子类中的函数只是隐藏了基类中的函数而没有覆盖 ,因为指针为基类指针 ,故调用基类函数

People::getPhone_same_params

//由于子类中的函数只是隐藏了基类中的函数而没有覆盖,因为指针为基类指针,故调用基类函数

Children::getAddress_same_params

//

由于子类中的函数覆盖了基类中的函数 ,虽然指针为基类指针,但是会调用子类函数

*/

}

数据成员是存储类都某些特征的,函数式实现某些功能的

比如一个定义一个图形类“Circle” ,他有直径,圆心坐标等特征,这些就是该类的数据成员。现在我们要实现一个求圆的面积的功能 ,那么就需要定义一个函数,该函数返回了圆的面积。当然你也可以把面积当做数据成员,定义一个求直径的函数 。

关于“内联函数和成员函数的区别是什么? ”这个话题的介绍 ,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[阿銷]投稿,不代表旋风格立场,如若转载,请注明出处:https://xfg666.cn/wenzhang/44.html

(12)

文章推荐

  • 戴丽丽带泪的鱼现状

    近期关于戴丽丽带泪的鱼现状的讨论热度持续攀升,我们通过多方渠道收集整理了相关资讯,并进行了系统化的梳理。若这些内容恰好能为您提供参考,将是我们最大的荣幸。从事音乐工作。戴丽丽,艺名是带泪的鱼,她跟本兮一样是90后新生代人气女王。带泪的鱼和本兮两个人的音乐风格有一个共同的特点,就是非主流音乐,截至20

    2025年09月17日
    8313
  • vivo账户密码忘了怎么办

    网上有关“vivo账户密码忘了怎么办”话题很是火热,小编也是针对vivo账户密码忘了怎么办寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。忘记vivo账号密码,可参考以下方式操作:1、vivo账号绑定的手机号/邮箱/密保/紧急联系人还在使用,可进入vivo官网

    2025年09月18日
    11307
  • ALEXANDRE ZOUARI PARIS和ALEXANDRE DE PARIS有什么差别?

    近期关于ALEXANDREZOUARIPARIS和ALEXANDREDEPARIS有什么差别?的讨论热度持续攀升,我们通过多方渠道收集整理了相关资讯,并进行了系统化的梳理。若这些内容恰好能为您提供参考,将是我们最大的荣幸。ALEXANDREZOUARIPARIS和ALEXANDREDE

    2025年09月19日
    9308
  • 重庆农家乐哪里又好又便宜

    近期关于重庆农家乐哪里又好又便宜的讨论热度持续攀升,我们通过多方渠道收集整理了相关资讯,并进行了系统化的梳理。若这些内容恰好能为您提供参考,将是我们最大的荣幸。重庆又好又便宜的农家乐有彩色森林云居、沃草牧场、乡土垣等等。1、彩色森林云居彩色森林云居位于重庆市巴南区丰盛镇,这里有上千亩的森林绿化,四周

    2025年09月19日
    10311
  • “角质的”是什么意思?

    近期关于“角质的”是什么意思?的讨论热度持续攀升,我们通过多方渠道收集整理了相关资讯,并进行了系统化的梳理。若这些内容恰好能为您提供参考,将是我们最大的荣幸。分类:生活>>美容/塑身解析:角质层的细胞是由死亡的角化细胞(corneocytes)所组成。其主要功能是

    2025年09月21日
    9303
  • 《安全出行、平安回家》主题班会

    网上有关“《安全出行、平安回家》主题班会”话题很是火热,小编也是针对《安全出行、平安回家》主题班会寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。《安全出行、平安回家》主题班会 在我们平凡无奇的学生时代,大家都经常接触主

    2025年09月21日
    6319
  • 什么是农业信息服务

    网上有关“什么是农业信息服务”话题很是火热,小编也是针对什么是农业信息服务寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。农业信息服务是指通过现代信息技术,为农业生产、管理与决策提供相关信息和咨询服务,以提高农业生产效率和农民收入的综合性服务体系。首先,农业信

    2025年09月23日
    6312
  • 山西有哪些县

    网上有关“山西有哪些县”话题很是火热,小编也是针对山西有哪些县寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。截至2016年,山西省共辖11个地级市,包括11个县级市、85个县。太原市——清徐县、阳曲县、娄烦县、古交市;大同市——阳高县、天镇县、广灵县、灵丘县

    2025年09月26日
    7301
  • 综影视的小说推荐(最好是书名)

    关于综影视的小说推荐(最好是书名)的讨论正在各大平台持续发酵,我们精心筛选了最新资讯,希望能为您带来实质性的帮助。如何将超人喂养成正直好少年[魔戒+HP]穿成戒指怎么破[综]被24小时观察日记[三国]小民之计HP—东方不败综-受揽人心BY清水浅浅综-位面宠物商店BY泉滴菊花满榻香主受综影视小说

    2025年09月26日
    6313
  • 淘宝手机店铺音乐名字 成语典故可借用?

    关于淘宝手机店铺音乐名字成语典故可借用?的讨论正在各大平台持续发酵,我们精心筛选了最新资讯,希望能为您带来实质性的帮助。手机店铺是淘宝上并不多见的,尤其是一些大牌的手机,一般都要拿到官方的授权,或者有门路才可以开一家手机店,所以我们要是能够开一家淘宝手机店铺将会非常有优势,那么这样的店铺应

    2025年09月28日
    6319

发表回复

本站作者才能评论

评论列表(3条)

  • 阿銷的头像
    阿銷 2025年09月14日

    我是旋风格的签约作者“阿銷”

  • 阿銷
    阿銷 2025年09月14日

    本文概览:网上有关“内联函数和成员函数的区别是什么?”话题很是火热,小编也是针对内联函数和成员函数的区别是什么?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望...

  • 阿銷
    用户091404 2025年09月14日

    文章不错《内联函数和成员函数的区别是什么?》内容很有帮助

联系我们

邮件:旋风格@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

旋风格