在MFC中 将父类指针赋予子类指针,子类指针调用子类成员,为什么不会报错
例如CMainFrame *pMain = (CMainFrame*)AfxGetApp()->m_pMainWnd;
pMain->m_nCount = 3;
m_pMainWnd是CWnd类型的指针,CMainFrame 是 CWnd 的子类,m_nCount是CMainFrame的公有成员。
相关推荐
在C++中子类继承和调用父类的构造函数方法
构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法)。因此,在创建子类对象时,为了初始化从父类继承来的数据成员,系统需要调用其父类的构造方法。 如果没有显式的构造函数,编译器会给一个默认的构造函数,并且该默认的构造函数仅仅在没有显式地声明构造函数情况下创建。 构造原则如下: 1. 如果子类没有定义构造方法,则调用父类的无参数的构造方法。 2. 如果子类定义了构造方法,不论是无参数还是带参数,在创建子类的对象的时候,首先执行父类无参数的构造方法,然后执行自己的构造方法。 3. 在创建子
MFC函数回调实战:从函数指针到子类化与Lambda封装
回调机制是Windows编程中“行为注入”的核心思想,借助函数指针或对象指针实现在特定时机执行自定义代码。理解回调原理,不仅是掌握函数指针、调用约定与静态包装器的关键,也能帮助开发者应对控件遍历、窗口子类化、异步线程通知等高频工程场景。在MFC开发中,无论是使用EnumChildWindows批量处理控件,还是通过SetWindowLongPtr替换窗口过程实现自绘按钮,本质上都依赖“静态转发+上下文指针”的通用模式。借助std::function与Lambda,还可进一步简化回调封装,提升代码可读性与复用
MFC静态DLL导出类并在子类调用父类中方法
本代码为MFCDLL导出类技术调查程序, 程序通过静态DLL导出基类BaseClass和其子类SubClass, 并通过MFC应用程序UseDll.exe调用子类SubClass中的方法 和其继承发父类中的方法,输出相应的值。
mfc CGdiObject 子类及其成员函数的使用
是关于mfc CGdiObject 子类及其成员函数的使用,一些功能点击菜单即可实现,工程直接导入vs6.0就可以打开
MFC窗口m_hWnd和this指针
介绍MFC窗口m_hWnd和this指针的区别



