本文主要是介绍MFC---CObject注意事项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在我们定义的Class中如果需要继承,或者是必须继承Object类时:
我们又需要对类的对象进行操作是,会出现:
error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)问题,
这是由于微软将Object类的操作运算符设置为private,在我们用到是需要这些操作符时,就需要我们自己来实现,来重载。
常见的情况:
1--类对象进行赋值操作;
class CTest : public CObject
修改:
CTest &CTest::operator = (const CTest & RightSides)//添加运算符=,自己实现
2--使用CMap或者是Vector一些提供的模板库包含类数据时,即使包含重载运算符=也会出现上述问题
CTest(const CTest & C)//添加拷贝构造函数
{
a = C.a;
}
CTest & CTest::operator = (const CTest & RightSides)//添加运算符=
{
a = RightSides.a;
}
这篇关于MFC---CObject注意事项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!