读书人

研究一下这个代码为什么得到这么奇怪

发布时间: 2012-03-28 15:40:03 作者: rapoo

研究一下这个代码,为什么得到这么奇怪的结果!!!
#include <iostream>
using namespace std;

class B
{
public:
B() {cout < < "B::B() " < < endl;}
void f() {cout < < "B:f() " < < endl;}
private:

};

class D
{
public:
D(){cout < < "D::D() " < < endl;}
void f() { void B::f(); }
private:

};

int main()
{
D d;
d.f();
return 0;
}

[解决办法]
class D
{
public:
D(){cout < < "D::D() " < < endl;}
void f() { B b; b.f(); }
private:

};

读书人网 >C++

热点推荐