问题描述
- 请教一个MFC另外一个类返回字符函数的问题
-
创建了一个新类,如果调用这个新类的成员变量的话,直接把新类对象实例化,然后新类.m_str
,这样调用不就行了吗?为什么我看别人写的代码,还要在新类的头文件定义几个
字符串CSTRING函数,用这个函数返回成员变量的值,请问下这样不是多此一举吗?跟
我用的方法有什么区别呢?
解决方案
通过函数返回成员变量值的目的是隐藏类实现的细节,这也是面向对象的特点。
解决方案二:
不要直接返回栈上的局部变量,因为堆栈会在函数返回后销毁。
解决方案三:
如果愿意把m_str 公开出来。那么你的做法可以。但考虑c++的封装性。一般不会public变量。而是通过成员函数方式来返回字符
解决方案四:
一个关于GetSubMenu函数返回0的问题
解决方案五:
变量隐藏,这是最基本的面相对象思想,不让别人知道你设计的细节,直接调用接口就可以克
时间: 2024-07-30 12:51:19