#include <iostream>
#include<string>
using namespace std;
class Point
{
//friend class v;
public:
Point(const string &ss, const int &ii) :m_nPointCount(ii),s(ss)
{
//m_nPointCount++;
}
~Point()
{
//m_nPointCount--;
}
private:
int m_nPointCount = 0;
string s = "world";
};
class v{
public:
v(const string &ss, const int &ii) :m_nPointCount(ii), s(ss)
{
//m_nPointCount++;
}
~v()
{
//m_nPointCount--;
}
public:
int m_nPointCount = 0;
string s = "world";
};
void main()
{
Point vv("leee",0);
v aa("leee", 0);
cout << *(string*)((Point*)(&vv) + ((v*)(&aa.s) - (v*)(&aa))) << endl;
}
怎么输出错误啊?但是如果我把int m_nPointCount = 0;去掉改成cout << *(string*)((Point*)(&vv)) << endl;就对了。求大神啊!!