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

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

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

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

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://m.xfg666.cn/wenzhang/44.html

(105)

文章推荐

  • 实操教程“微乐宁夏划水技巧”分享用挂教程

    实操教程“微乐宁夏划水技巧”分享用挂教程 您好:微乐宁夏划水技巧这款游戏是可以开挂的,软件加微信【添加图中***群】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款

    2025年11月13日
    49312
  • 必备绝技“天天微乐贵阳捉鸡麻将有挂吗”开挂详细教程

    必备绝技“天天微乐贵阳捉鸡麻将有挂吗”开挂详细教程 您好:天天微乐贵阳捉鸡麻将有挂吗这款游戏是可以开挂的,软件加微信【添加图中***群】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是

    2025年11月28日
    47307
  • 重大发现“哈灵麻将怎么开挂”附开挂脚本详细步骤

    重大发现“哈灵麻将怎么开挂”附开挂脚本详细步骤>>您好:哈灵麻将怎么开挂,软件加微信【】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加

    2025年11月29日
    48307
  • 辅助开挂工具“浙江游戏大厅辅助器随意选牌”开挂(透视)辅助教程

    辅助开挂工具“浙江游戏大厅辅助器随意选牌”开挂(透视)辅助教程浙江游戏大厅辅助器随意选牌是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加入我们(QQ群聊)免费测试,先看效果下载使用。手机打牌可以一键让你轻松成为“必赢”。其操作方式十分简单,打开这个

    2025年11月30日
    40302
  • 重大发现“欢乐达人有挂吗”开挂详细教程

    重大发现“欢乐达人有挂吗”开挂详细教程无需打开直接搜索微信:本司针对手游进行,选择我们的四大理由:1、软件助手是一款功能更加强大的软件!无需打开直接搜索微信:2、自动连接,用户只要开启软件,就会全程后台自动连接程序,无需用户时时盯着软件。3、安全保障,使用

    2025年12月08日
    38314
  • 最新教你“呼兰和和麻将有挂吗!分享用挂教程

    最新教你“呼兰和和麻将有挂吗!分享用挂教程>>您好:呼兰和和麻将有挂吗,软件加微信【】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加*

    2025年12月14日
    32312
  • 最新教你“多乐跑胡子怎么开挂”分享装挂技巧步骤

    辅助开挂工具“多乐跑胡子如何提高胡牌率”详细开挂玩法亲,多乐跑胡子如何提高胡牌率这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的通过添加客

    2026年01月02日
    20303
  • 玩家实测!微乐插件下载”(辅助插件下载教程)

    辅助开挂工具“微乐四川麻将怎么开免费的挂”(详细开挂教程)亲,微乐四川麻将怎么开免费的挂这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的通

    2026年01月03日
    19314
  • 终于懂了!“微信白金岛跑胡子辅助工具”(详细开挂教程)-知乎

    必备绝技“hhpoker其实是有挂确实有挂!分享用挂教程>>您好:hhpoker其实是有挂确实有挂,软件加微信【】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这

    2026年01月10日
    22301
  • 玩家必看攻略!“多乐跑胡子有外挂吗(揭秘小程序提高胜率)

    重大发现“明星上海麻将有挂吗”开挂详细教程亲,明星上海麻将有挂吗这款游戏原来确实可以开挂,详细开挂教程有意向的用户,请加入上面Q_Q群.1、起手看牌2、随意选牌3、控制牌型4、注明,就是全场,公司软件防封号、防检测、 正版软件、

    2026年01月11日
    18304

发表回复

本站作者才能评论

评论列表(3条)

  • 阿銷的头像
    阿銷 2026年01月28日

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

  • 阿銷
    阿銷 2026年01月28日

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

  • 阿銷
    用户012805 2026年01月28日

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

客服微信:CCK8674点击复制并跳转微信

联系我们

邮件:旋风格@gmail.com

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

旋风格