#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;
}
#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;
}
---------------------------------------
该问题已经结贴 ,得分记录: jinjazz(200)、
这一句应该如何解释呢?
我认为应该q的初试值为addr的地址,而不是把addr[0]的地址赋给了*q !