class CObject
{
public:
virtual void Serialize(){cout<<"CObject::Serialize()\n\n";}
};
class CDocument:public CObject
{
public:
int m_data1;
void func(){cout<<"CDocument::func()"<<endl;
Serialize();
};
class CMyDoc:public CDocument
{
public:
int m_data2;
virtual void Serialize(){cout<<"CMyDoc::Serialize()\n\n";}
};
void main()
{
CMyDoc mydoc;
((CDocument*)(&mydoc))->func();
}
中的((CDocument*)(&mydoc))->func();语句看不懂啊????????
请懂的高手指教。
{
public:
virtual void Serialize(){cout<<"CObject::Serialize()\n\n";}
};
class CDocument:public CObject
{
public:
int m_data1;
void func(){cout<<"CDocument::func()"<<endl;
Serialize();
};
class CMyDoc:public CDocument
{
public:
int m_data2;
virtual void Serialize(){cout<<"CMyDoc::Serialize()\n\n";}
};
void main()
{
CMyDoc mydoc;
((CDocument*)(&mydoc))->func();
}
中的((CDocument*)(&mydoc))->func();语句看不懂啊????????
请懂的高手指教。
解决方案 »
- MFC是开源的吗?
- 请大家帮我看看这个带通滤波程序~~
- 子窗口的消息如何传递到父窗口中让父窗口来处理
- VC关于自定义消息的诡异问题,大家进来看看
- 请问一个vc的一个基本的问题
- 谁能发给我一个COM编程的实例,有服务器和客户机的代码,在VC6下编译无问题?(我以200分求,话无戏言)
- 谁有《精通Visual C++图像编程》的配套光盘?
- 不同机器编译 在目标机器上运行不一致的问题 急
- MFC 怎么在线程中获取当前子窗口的句柄?
- ..................................................哪里有提供DEGUG的教程?
- 请问关于Formview中的TabCtrl的使用?在线等
- 急,在线等!!!!!!!!!!!
但是mydoc不是指针 所以要转化成指针((CDocument*)(&mydoc))就是取mydoc的指针
应该是这样的
&mydoc//取地址
(CDocument*)//转化为基类指针
->func();//调用基类的函数
CDocument* pDoc=&myDoc;
pDoc->func();myDoc.func()与有什么不同呢?前者CMyDoc::Serialize()被调用,后者CObject::Serialize被调用
我能不能这样调用这个函数?
mydoc.func();