请教一个成员函数的问题

lxb365 2006-05-28 10:28:36
最近看书,书上说,一个类的成员函数只有一份拷贝,也就是说,多个该类的对象是共享同一个函数,有点静态成员变量的意思,我觉得有疑惑啊,真的是这样的吗?请高手指导
...全文
142 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
DaySummer 2006-05-28
  • 打赏
  • 举报
回复
在运行的时候,程序会把这个函数的执行加载到一个栈里,这样就不会出现像你所说的冲突了!
0黄瓜0 2006-05-28
  • 打赏
  • 举报
回复
成员函数内的局部变量是函数调用时临时在栈上分配空间的,函数运行完毕空间就归还,每个调用有自己独立的局部变量空间。
我们说“成员函数只有一份拷贝”是说它的代码只有一份。
leebuilder 2006-05-28
  • 打赏
  • 举报
回复
针对一般的成员变量不同对象有自己的成员函数
静态变量为各个对象共享
0黄瓜0 2006-05-28
  • 打赏
  • 举报
回复
成员函数只有一份。
当一个对象(也就是成员变量的集合)要调用一个成员函数对本身进行操作的时候,就把对象的首地址传给该函数,这个首地址就是隐藏的this指针,然后函数就可以对这些数据进行操作了。
lxb365 2006-05-28
  • 打赏
  • 举报
回复
如果是这样的话,难道不会产生冲突吗?比如这个成员函数里又定义了一些局部变量,多个对象在调用这个函数的时候,这些局部变量是只有一份呢,还是每个对象都有自己的一份拷贝?
property1 2006-05-28
  • 打赏
  • 举报
回复
成员函数 有一个 隐含的参数 :
this 指针
ostrich2fly 2006-05-28
  • 打赏
  • 举报
回复
是这样的
普通的成员变量分别有拷贝

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧