
MFC中我在**Doc.h类中定义了一个CImage的变量,我想在**View类中得到这个值,但是我直接新建一个变量
CImagetmp进行赋值的时候,编译错误,说关于=重载时私有的,无法访问。我现在纠结的问题就是这个重载=是写在哪个类里面?我感觉应该是写在CImage类中,一直纠结这个...
CImage tmp进行赋值的时候,编译错误,说关于=重载时私有的,无法访问。我现在纠结的问题就是这个重载=是写在哪个类里面?我感觉应该是写在CImage类中,一直纠结这个,但是CImage类好像是MFC里面的类,无法修改吧
展开
1个回答
展开全部
两个办法。
一个是直接使用,不必赋值,在CView类里面可以GetDocument()->myImage.XXX直接操作的,不需要赋值。
第二个办法:地址操作。Doc类里面声明成为CImage * XXX,那么View里面就可以CImage* tmp;tmp=就可以,因为是地址赋值,而不是创建一个新的类。
还有一个笨办法,标准类是可以派生重载的,派生一个类,然后自己写一个=重载函数就可以了。
一个是直接使用,不必赋值,在CView类里面可以GetDocument()->myImage.XXX直接操作的,不需要赋值。
第二个办法:地址操作。Doc类里面声明成为CImage * XXX,那么View里面就可以CImage* tmp;tmp=就可以,因为是地址赋值,而不是创建一个新的类。
还有一个笨办法,标准类是可以派生重载的,派生一个类,然后自己写一个=重载函数就可以了。
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询