关于MFC中成员函数引用CDC的问题

来源:互联网 发布:把字符串放到数组中 编辑:程序博客网 时间:2024/05/02 00:17

前日,在绘制所接收数据的趋势图之时,由于代码需要整合,故将代码进行拆分成成员函数,这个时候调用出错!

由于我用的就是直接调用CDC对象,例如:

CDC fun(CDC m_DC,CRect m_rect){  //你的消息代码   return CDC;}

但这个时候便会报错,报的错误是你访问到私有成员函数的权限错误,此时很纠结!后来经过上网查询,知道了MFC的程序架构,

在MFC 中很多对象是没有拷贝构造函数的,如果对象有拷贝构造函数的话,如果在继承的时候,子类也会继承拷贝构造函数,同时

当子类解析掉之后,拷贝构造函数何去何从。最重要的是拷贝构造函数给对象带来了很多的危险,具体什么原因,面向对象里面解释

了很多。经查证,CDC也是没有拷贝构造函数的,因此调用的时候,不能够直接调用其对象,因为无法进行对象的构造,只能通过调

用地址或者指针间接的调用函数!例如:

CDC *fun(CDC *m_DC,CRect m_rect){    //消息代码}

这样的话不会报错,当然这个问题是一个细节问题,提出来算是一个小的经验分享!

原创粉丝点击