c++中非静态函数不能用类名调用,为什么CWnd的成员函数GetDC()可以直接调用啊?
2017-08-29 22:48
435 查看
c++中非静态函数不能用类名调用,为什么CWnd的成员函数GetDC()可以直接调用啊?
CDC::Lineto提示 非静态成员引用必须与特定对象相对还有,为什么CWnd的许多函数都可以直接调用? 新手求赐教
在本类实例中隐藏了this 其实是this->GetDC( );
追问
什么时候会隐藏this啊? CDC的那个为什么不带this? 求教
追答
在类似函数(函数名前面是 void CMFCApplication1View::XXX)中 或者也可以显示地调用
追问
明白了,在类的成员函数内部会自动追加这个类对象的this指针。 CDC 的对象 在CMFCApplication1View的成员函数里 不会追加this指针。 感谢您的回答!
相关文章推荐
- 为什么c++中,有时可以用类名直接访问非静态成员函数?
- 为什么C++静态成员函数不能访问非静态成员变量、不能调用非静态成员函数?(面试常考)
- 在c++中,静态数据成员可以被非静态成员函数调用吗?如果可以调用的话那为什么还要定义静态成员函数呢
- C++中可以以“类名::成员函数”直接引用成员函数哦!
- [疑问]C/C++中为什么在类外利用多态基类指向派生类指针可以调用类的私有成员函数?
- C/C++中为什么在类外利用多态基类指向派生类指针可以调用类的私有成员函数?
- c++中,可以用类名直接访问非静态成员函数?
- 函数指针不能直接调用类的成员函数
- C++指针直接调用类成员函数探讨
- MFC 添加C++类,别的类不通过C++类的定义的对象就可以直接调用C++类里面的成员函数;
- C++静态成员函数不能调用非静态成员变量
- static方法可以直接从普通方法(regular method)中调用,但是普通方法不能直接从static方法中调用,为什么?
- 浅析C++中的this指针 通过空指针(NULL)可以正确调用一些类的成员函数?
- 为什么通过空指针(NULL)可以正确调用一些类的成员函数?
- C++指针直接调用类成员函数探讨(zz)
- 浅析为什么设置用户ID程序中不能直接调用system函数?
- 浅析C++中的this指针 通过空指针(NULL)可以正确调用一些类的成员函数?
- 为什么C++成员函数不能作为C-Style回调函数?
- 结合上面的五个例子,对类的静态成员变量和成员函数作个总结: 一。静态成员函数中不能调用非静态成员。 二。非静态成员函数中可以调用静态成员。因为静态成员属于类本身,在类的对象产生之前就已经存在了,所
- C++中类的访问权限针对的是类而不是对象!(为什么类中的函数可以访问对象的私有成员?)