《笔记》孙鑫老师MFC第二讲(C++特性)
2010-02-11 11:17
363 查看
《笔记》孙鑫老师MFC第二讲(C++特性)
C++是一种不完全支持面向对象的语言,在MFC中用到C++的封装,继承,多态,模板,RTTI,虚函数(Object slicing)等性质。
主要理解Object slicing
C++是一种不完全支持面向对象的语言,在MFC中用到C++的封装,继承,多态,模板,RTTI,虚函数(Object slicing)等性质。
主要理解Object slicing
#include <iostream.h> class CObject { public: virtual void Serialize() { cout<<"CObject::Serialize()/n/n";} }; class CDocument:public CObject { public: void func() { cout<<"CDocument::func()"<<endl; // Serialize();//这句代码主要是为了实现虚拟函数的调用 } void Serialize() { cout<<"CDocument::Serialize()/n/n";} }; class CMyDoc:public CDocument { public: void Serialize() { cout<<"CMyDoc::Serialize()/n/n";} }; void main() { CMyDoc mydoc; CMyDoc *pmydoc=new CMyDoc; cout<<"#1 testing"<<endl; mydoc.func(); cout<<"#2 testing"<<endl; ((CDocument *)(&mydoc))->func(); cout<<"#3 testing"<<endl; pmydoc->func(); cout<<"#4 testing"<<endl; ((CDocument)mydoc).func(); } 运行结果1:(注释掉函数func里Serialize()的的情况) #1 testing CDocument::func() #2 testing CDocument::func() #3 testing CDocument::func() #4 testing CDocument::func() 运行结果2:(没注释的情况) #1 testing CDocument::func() CMyDoc::Serialize() #2 testing CDocument::func() CMyDoc::Serialize() #3 testing CDocument::func() CMyDoc::Serialize() #4 testing CDocument::func() CDocument::Serialize()
相关文章推荐
- MFC(窗口,菜单栏,状态等的风格,孙鑫C++第九讲笔记整理)
- MFC- ActiveX编程(孙鑫C++第十八讲笔记整理 )
- MFC(ActiveX编程,孙鑫C++第十八讲笔记整理)
- MFC(继续画图,孙鑫C++第十讲笔记整理)
- 孙鑫vc++学习(vs2008)笔记之第二课掌握C++
- MFC - 线程同步与异步套接字 (孙鑫C++第十六讲笔记整理)
- 《笔记》孙鑫老师MFC第一讲(windows程序内部运行原理)
- MFC初窥(MFC运行机制,孙鑫C++第三讲笔记整理)
- MFC(绘图与保存,孙鑫C++第十一讲笔记整理)
- MFC(继续画图,孙鑫C++第十讲笔记整理)
- MFC视频教程(孙鑫)学习笔记2-掌握C++
- MFC(画图,孙鑫C++第四讲笔记整理)
- 孙鑫VC学习笔记:第二讲 掌握C++
- MFC(窗口,菜单栏,状态等的风格,孙鑫C++第九讲笔记整理)
- MFC - 网络编程 (孙鑫C++第十四讲笔记整理)
- MFC(继续画图,孙鑫C++第十讲笔记整理)
- MFC(文本编程,孙鑫C++第五讲笔记整理)
- MFC(菜单,孙鑫C++第六讲笔记整理)
- MFC - 文件操作 (孙鑫C++第十二讲笔记整理)
- MFC(对话框,孙鑫C++第七讲笔记整理)