请您看看这个奇怪的问题!

Hi2001 2001-06-20 04:34:00
如果有一个类One,定义如下
class One
{
Public:
One(){ i=new int(0);}
~One();
…………
int* i;
…………
};

int main()
{
One * something=new One;//此处表示构造一个新的对象的指针something,且它的*i=0。

//现在我要对something对象的成员变量i指向的值进行操作,该如何写呢?我记得“->”符号的意思是“(* 指针名).”。
*(something->i)=7;//这样好像好别扭,您能解释一下这对吗?

…………
return 0;
}
...全文
74 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯本 2001-06-21
  • 打赏
  • 举报
回复
whitedwarf说的没错
Hi2001 2001-06-21
  • 打赏
  • 举报
回复
是啊,怎么会有人说这个程序的构造函数不会给指针i分配空间???您说呢?
阎罗 2001-06-21
  • 打赏
  • 举报
回复
这样写可以啊,只是好象你用new分配了堆内存但没有用delete释放啊
liu_feng_fly 2001-06-20
  • 打赏
  • 举报
回复
难道在构造函数里的new不会被执行吗?
dragoncircle 2001-06-20
  • 打赏
  • 举报
回复
资源泄露了吗?哈哈,我倒是觉得指针i根本没有被分配空间。
liu_feng_fly 2001-06-20
  • 打赏
  • 举报
回复
对的吧,可是这样做有必要吗?再说了,你的free(i)在什么地方?资源泄露了
cnss 2001-06-20
  • 打赏
  • 举报
回复
对呀
whitedwarf 2001-06-20
  • 打赏
  • 举报
回复
这样写不是挺好吗?

69,337

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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