有什么办法不允许在友元函数中进行私有构造,以防我们的类中有带友元函数的私有构造函数。只有静态方法应负责对象创建,除此编译器外,应闪烁错误消息
#include <iostream>
#include <memory>
using namespace std;
class a
{
public:
void see ()
{
cout<<"Motimaa";
}
static a& getinstance()
{
static a instance;
return instance;
}
private:
a() {};
friend void access();
};
void access ()
{
a obj;
obj.see();//still friend function can access
}
int main()
{
a::getinstance().see();
access();
return 1;
}