成员函数调用全局函数
#include<iostream>
using namespace std;
void f();//1
class B
{
public:
// friend void f();//2
void Bf()
{f();}
};
int a=100;
void f()//3
{
cout<<a<<endl;
}
int main()
{
B b;
b.Bf();
getchar();
return 0;
}
函数需要在调用前被申明,所以需要1。或者把3提到1的位置,在B中调用前声明。
结果:
或者把函数声明为friend。如下:
#include<iostream>
using namespace std;
//void f();//1
class B
{
public:
friend void f();//2
void Bf()
{f();}
};
int a=100;
void f()//3
{
cout<<a<<endl;
}
int main()
{
B b;
b.Bf();
getchar();
return 0;
}
