求教,关于类的函数的问题
我在使用cpropertysheet类的时候,发现一个例程里有:
cpropertysheet m_sheet;
.
.
.
然后在某个实现函数中,有:
m_sheet.getclientrect(&rect);
但我发现,cpropertysheet类中 根本就没有getclientrect()这个成员函数!
但直接使用getclientrect(&rect)有明显和使用m_sheet.getclientrect(&rect)
显示效果不一样!
请问,这是什么原因?
多谢!
推荐阅读
cpropertysheet 派生自cwnd,同时也继承了cwnd的成员函数getclientrect()。
getclientrect()是cpropertysheet类的基类cwnd的函数
可能是父类或祖父类的.
getclientrect(&rect);
等同于:
this->getclientrect(&rect);
getclientrect得到客户区的大小
直接调用 getclientrect 是调用当前对象的函数
m_sheet.getclientrect 是成员对象的函数,这个函数可在来自他的老爸
getclientrect()函数实际上还有一个隐含参数,就是窗口句柄,因为mfc封装
后,每个调用该函数的窗口类都有默认的窗口句柄,所以不需要指定,这一点可
以看看win32 api中的getclientrect()函数。
getclientrect(&rect)
与
m_sheet.getclientrect(&rect)
所指定的是不同的窗口,所以结果不会一样的。
一样,都是从cwnd继承来的
.

讨论区