C++基类与派生类指针的相互关系

1,CClientDC * pdc = (CClientDC *)GetDlgItem(IDC_PICTURE)->GetDC();

遇到这样一行代码,GetDlgItem(IDC_PICTURE)->GetDC()返回的是CDC *,是CClientDC的基类,也就是说通过强制转化可以把基类指针强制转换为派生类指针。紧接着,

2,m_Dib.Draw((CDC*)pdc,m_Dib.m_lpData,CPoint(0,0),CSize(m_Dib.GetWidth(),m_Dib.GetHeight()));派生类的指针又被强制转换为基类指针。甚至

   m_Dib.Draw(pdc,m_Dib.m_lpData,CPoint(0,0),CSize(m_Dib.GetWidth(),m_Dib.GetHeight()));说明了在公有派生的情况下,派生类的指针可以直接赋值给基类指针。就是可以把派生类指针当成基类指针用。

3,以前就知道的,基类指针可以指向派生类对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值