问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

...是静态数据成员 什么是静态成员函数 分别有什么作用?

发布网友 发布时间:2024-10-09 05:16

我来回答

2个回答

热心网友 时间:2024-10-12 08:15

***
我主要说的关键是“静态成员是属于类的”,而不属于任何对象所有
***
在此对一些内容作详细的解释,其中小部分与楼上有点相同,但我说的关键处,与它不同,并修改一些说法。
首先,我在这里把楼主的“静态成员”和“静态方法”,分别对应下面的“静态数据成员”和“静态成员函数”。并把他们都成为静态成员。(它们实际是同一个概念的不同说法。)
“静态成员是属于类的,由该类的全体对象共享”------就是对是这样的
“无论你建立了多少个该类的对象,静态成员在内存上只有一个”------我要说的是,无论你建多少个该类的对象,所有成员函数在内存上也只有一个
为什么说静态成员是属于类的呢??
因为,
我们假设
class
A
};并定义对象
A
abc;
一般的引用类的成员的方法是通过对象去引用:abc.i;
abc.display;。
但可以通过类
A::i来引用i
,
通过A::display()来引用display().
《这里是要特别要注意的!!!》
而普通成员就不行,
虽然不管是静态成员还是普通成员,在内存里只有一个副本。但从这个角度去看,静态成员是属于类的。
对于静态成员函数,我们也许还分不清楚这个问题,但是,
特别是对于静态数据成员,我们就很容易理解了。
如果不定义为静态数据成员,那么每个对象都分别有一个i的副本(拷贝)。但定义为静态数据成员之后,所有的对象共享有一个i的副本,就是说i在内存里就一个副本。
那么,不同对象引用i,对i的改变的话,
其他对象中i的值也会被改变,而且所有对象的值都是相同的。
在引用静态数据成员时,可以不通过对象而通过类,静态数据成员在内存只有一个,而且可以通过类来引用。这是静态数据成员属于类,很明显的。
这是实现不同对象间数据共享的一种方法。
静态成员函数,与静态数据成员类似。就不说,需要注意的是,它在内存里始终只有一个副本(普通成员函数也一样)。
关于静态成员的生命周期,在此就不多说了。

热心网友 时间:2024-10-12 08:17

静态成员函数主要为了调用方便,不需要生成对象就能调用。比如
class
x
{
public:
void
methoda();
static
void
methodb();
}
此时methodb可以直接调用,x::methodb();
methoda必须先生成类对象才能调用,x
x;
x.methoda();
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
婴幼儿认知功能的主义转变出现在几岁 认知发展理论心理发展过程 如何判断相亲对象是否渣男呢? 游船怎么造句 mei字造句 赏阅怎么造句 张金战个人记事 空调扇怎么关 matlab怎么运行程序文件-matlab运行程序文件的方法教程 ios8.1.1怎么没有搜索栏了 都是联想的品牌 一个联想(ThinkPad)一个联想(Lenovo)下面哪款好_百度知... 类中的这两个成员函数: const int fun(){} 和 int fun() const{}... 笔记本华硕E46c, 4580和联想Z460, 4300都是i5的哪款好?贵不贵? 这几张图片分别来自什么电影? 求这张表情图片里电影的名字 下雨天北京去哪玩比较好 北京下雨天适合去哪玩? 微量元素检查正常值 xpel是什么 工商局红盾网网址是什么?? 除了库里、纳什,NBA史上还有哪些靠技术打天下的球星? 维护国家安全的基本准则 国家安全工作基本原则 我家孩子是2013年农历10月初一早晨6点58分出生的,想看看孩子五行中缺什... 作文我爱我的祖国我爱我的祖国作文 此木成柴山山出? 此木是柴山山出。怎样接 ...今天一看有一种都僵硬了,碰它都一动不动了,怎么救活它,我好内疚... 草龟在今天趴在水底,脖子四肢都伸出,一动不动,摁脖子也没反应,它是不... ...昨天发现它四肢软 下午四肢就僵硬了也不动 请问是死了吗? 联想g410款型号dgr3l的笔记本大概要多少钱? 在批改网上做一篇the value of mistakes的作文,内容相关的成绩怎么提高... ...题目是 My dream.这个是要放到批改网上的所以不能抄袭。 我想问一下忻州到洪洞晚上的火车有几趟? 从洪洞西有没有到忻州市的高铁了?或者直达的火车了? 洪洞到忻州的火车k7808,10月10号能通了吗? 洪洞到忻州6月8号硬座火车票 ...使用软件keil uvision 编写。并使用STC-isp-v479来烫程序。_百度知... 启辰t60长城h2吉利缤越奇瑞瑞虎3长安cs35荣耀rx3传祺gm3同价哪个小毛病... 18岁非常爱运动的男孩子会有血压高吗? 我今年18岁有高血压,可能什么引起我的高血压? 怎样让管理员账户无法更改密码 男方离婚女方不想离怎么办 为什么电脑开机会出现checking filesystem once呢? 我是1988年6月1号出生的男同志,谁能帮我解读一下我的运势 一部电影说的是一个人被抓进一个封闭的地方,打很多游戏场景的厮杀,赢... 我是88年6月8日双子座女生,分析一下 ...年6月19出生的双子座女生,请问一下今年我的运势会如何?桃花运呢?今 ... 求一部国语电影 开头是拍好多个地方的人 被抓到一起 关在危险的地方 然... ...一个戴面具的人总是抓一些人跟他做游戏 有一个女人被戴了头套 时...