类野指针问题,解决了散分了!

wangweixing2000 2005-07-14 02:49:51
#include <cstdlib>
#include <iostream>

using namespace std;
class wwx
{
public:
int m_c;
int m_d;
wwx(){m_c = m_d = 123;}
void foo()
{
//m_c = 1;
//m_d = 2;
cout<<"this is a testing! m_c = "<<m_c<<endl;
cout<<"m_d = "<<m_d<<endl;
}

};
int main(int argc, char *argv[])
{
//wwx *p = new wwx();
//delete p;
//p->foo();
int addr[2] = {8000,8100};
//int addr2 = 8001;
wwx *q = ((wwx*)&addr); //把addr[0]的地址赋给了*q,m_c=8000,m_d=8100
cout<<"&addr:"<<&addr<<"q:"<<q<<endl;
((wwx*)&addr)->foo();
system("PAUSE");
return EXIT_SUCCESS;
}
...全文
189 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodboyws 2005-07-14
  • 打赏
  • 举报
回复
jf
dabears 2005-07-14
  • 打赏
  • 举报
回复
好多星星啊
dudu妈 2005-07-14
  • 打赏
  • 举报
回复
接分
long_xing 2005-07-14
  • 打赏
  • 举报
回复
wwx *q = ((wwx*)&addr); //把addr[0]的地址赋给了*q,m_c=8000,m_d=8100
这一句应该如何解释呢?
我认为应该q的初试值为addr的地址,而不是把addr[0]的地址赋给了*q !
老夏Max 2005-07-14
  • 打赏
  • 举报
回复
接分啊
teli_eurydice 2005-07-14
  • 打赏
  • 举报
回复
都是星星阿
handwolf 2005-07-14
  • 打赏
  • 举报
回复
也指针解决了,我还以为是什么问题。

类存储结构的功劳,呵呵

但是要注意对齐!
AntonlioX 2005-07-14
  • 打赏
  • 举报
回复
up
StarsWu 2005-07-14
  • 打赏
  • 举报
回复
呵呵,这类问题我们以前也玩过。其实一个类的对象在内存中只有数据部分是新申请的,因此他在内存中所占的空间与他内部的数据成员总空间是一样大。
allen_zhaozhencn 2005-07-14
  • 打赏
  • 举报
回复
顶一个, 呵呵.
oyljerry 2005-07-14
  • 打赏
  • 举报
回复
^_^ jf
oyljerry 2005-07-14
  • 打赏
  • 举报
回复
^_^ jf
jinjazz 2005-07-14
  • 打赏
  • 举报
回复
恭喜




---------------------------------------
该问题已经结贴 ,得分记录: jinjazz(200)、
薛定谔之死猫 2005-07-14
  • 打赏
  • 举报
回复
卡住了,晕
qrlvls 2005-07-14
  • 打赏
  • 举报
回复
今天网络是怎么了
beyondtkl 2005-07-14
  • 打赏
  • 举报
回复
3. 哈哈。。
qrlvls 2005-07-14
  • 打赏
  • 举报
回复
双星是怎样炼出来的
bohut 2005-07-14
  • 打赏
  • 举报
回复
1

1,658

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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