社区
C++ 语言
帖子详情
类成员函数问题
处处留心
2013-09-06 10:34:15
如果我在CA类中声明一个CB类的指针。没有对这个指针进行new,液没有初始化赋空值。
为什么,我可以用这个指针调用CB类的非静态公有成员函数?这个函数是在什么时候压栈的。
这个没有new的时候,没有调用构造函数,CB的非静态成员变量是无法调用的。为什么可以调用非静态成员函数?
急需答案,谢谢
...全文
91
5
打赏
收藏
类成员函数问题
如果我在CA类中声明一个CB类的指针。没有对这个指针进行new,液没有初始化赋空值。 为什么,我可以用这个指针调用CB类的非静态公有成员函数?这个函数是在什么时候压栈的。 这个没有new的时候,没有调用构造函数,CB的非静态成员变量是无法调用的。为什么可以调用非静态成员函数? 急需答案,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
大尾巴猫
2013-09-06
打赏
举报
回复
为什么,我可以用这个指针调用CB类的非静态公有成员函数? ------------------------------------------------------ 能这样做,不代表这样做是对的。就像数组越界不一定崩溃。 假如以后维护的人员在这个成员函数里使用了非静态的成员变量,那就糟了。
sduxiaoxiang
2013-09-06
打赏
举报
回复
不适用类里面的内存应该都不会挂的 NULL可以转化为各种类指针的
乃不知有汉
2013-09-06
打赏
举报
回复
为什么,我可以用这个指针调用CB类的非静态公有成员函数?
为什么不可以调用?这个调用在语法是正确的。
这个没有new的时候,没有调用构造函数,CB的非静态成员变量是无法调用的。为什么可以调用非静态成员函数?
当然可以调用类的非静态成员函数,非静态成员变量引用的时候会出错。
class B { public: void func() { cout << "func"; } void func_usemem() { cout << m_number; } protected: int m_number; }; int main() { B* p = NULL; p->func(); // 可以的哦不会崩溃的 相当于 func(NULL) p->func_usemem(); // 这个才崩溃 引用了 成员变量的 访问异常吧... 相当于 func_usemem(NULL) return 0; } p->func(); --> func(B* this=NULL) 这个函数内很幸运没有访问任何 this->member 所以不会崩溃 p->func_usemem(); -->func_usemem(B* this=NULL) cout << this->m_number; // this==NULL !!! 崩溃
freelancer_ex
2013-09-06
打赏
举报
回复
贴出你是怎么调用的。你是通过指针还是类名调用的成员函数?
ri_aje
2013-09-06
打赏
举报
回复
代码发上来看看。
关于
类
成员函数
指针的调用
问题
本文探讨了C++中
类
成员函数
指针的调用
问题
,特别是当试图将其作为普通函数指针使用时遇到的编译错误。文章提供了两种解决方案:一是将
成员函数
声明为静态(static),二是通过全局函数间接调用。
C++
类
成员函数
重载
问题
本文探讨了C++中
类
成员函数
的重载
问题
,特别是const关键字在函数重载中的作用。通过示例代码展示了如何通过const修饰来实现不同行为的
成员函数
重载,以及在不同对象
类
型上调用相应函数的规则。标准库中的某些函数如std::XXX::begin()也采用了
类
似的重载方式。
类
成员函数
大小
问题
本文探讨了
类
成员函数
指针的大小受基
类
影响的现象,在VC++与GCC编译器下的表现不同。当派生
类
继承自含有纯虚函数的基
类
时,VC++中
成员函数
指针的大小会增加。
向普通函数传递
类
成员函数
指针的
问题
本文介绍如何在C++中将
类
成员函数
作为函数指针传递,并探讨了不同场景下的实现方法及其局限性。重点讲解通过友元函数封装
成员函数
指针的技术。
一个
类
成员函数
的局部静态变量
问题
本文讨论了在C++
类
成员函数
中使用局部静态变量来实现特定需求的方法及遇到的
问题
,包括如何在首次调用时初始化变量并在后续调用中保持状态。通过实例分析了在
类
成员函数
中定义局部静态变量的作用,并针对出现的意外行为进行了调整,最终实现了预期的功能。同时,文章还提到了在使用局部静态变量时可能出现的陷阱,以及解决这些
问题
的方法。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章