读书人

在类外t:f()不行呢?解决方法

发布时间: 2013-10-31 12:03:52 作者: rapoo

在类外t::f()不行呢?
class t{
public:
virtual void f(){}
};

class s:public t{
public:
void f(){t::f();}
};

int _tmain(int argc, _TCHAR* argv[])
{
t::f();
return 0;
}

[解决办法]

引用:
在类里怎么行呢????
Quote: 引用:

virtual 换成 static


因为在类成员函数中使用成员时,隐含了*this,f中的t::f()实际上是( *this ).t::f()。

读书人网 >C++

热点推荐