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

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

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

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

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

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值