c++中非静态函数不能用类名调用,为什么CWnd的成员函数GetDC()可以直接调用啊?

c++中非静态函数不能用类名调用,为什么CWnd的成员函数GetDC()可以直接调用啊?

CDC::Lineto提示 非静态成员引用必须与特定对象相对

还有,为什么CWnd的许多函数都可以直接调用?
新手求赐教
  • c++中非静态函数不能用类名调用,为什么CWnd的成员函数GetDC()可以直接调用啊?_第1张图片 
  • c++中非静态函数不能用类名调用,为什么CWnd的成员函数GetDC()可以直接调用啊?_第2张图片
在本类实例中隐藏了this
其实是this->GetDC( );
追问
什么时候会隐藏this啊?
CDC的那个为什么不带this?
求教
追答
在类似函数(函数名前面是 void CMFCApplication1View::XXX)中
或者也可以显示地调用
追问
明白了,在类的成员函数内部会自动追加这个类对象的this指针。
CDC 的对象 在CMFCApplication1View的成员函数里   不会追加this指针。
感谢您的回答!

你可能感兴趣的:(c++基础概念,c++技术)