【发布时间】:2015-11-06 21:59:04
【问题描述】:
我遇到了两个类之间的友元函数问题。让我们看一些代码:
头等舱:
#ifndef _FIRST_H_
#define _FIRST_H_
//#include "Second.h"
#include <string>
class Second;
class First
{
friend void Second::fun();
std::string str = "Dziala\n";
public:
First();
~First();
};
#endif
二等:
#ifndef _SECOND_H_
#define _SECOND_H_
#include<iostream>
#include "First.h"
class Second
{
First fObj;
public:
Second();
~Second();
void fun() { std::cout << fObj.str; }
};
#endif
如果我尝试交朋友 CLASS 没有问题。如果我像上面的例子一样交朋友 FUNCTION,就会出现问题。 我可以在头等舱中通过#include "Second.h" 来解决这个问题,但随后它将是包含循环。你知道怎么做吗?
【问题讨论】:
-
#include循环没有问题,而不是当您使用#ifndef _FIRST_H_启动它们时 -
@MadsMarquart,不正确。这将是一个问题。
-
另外,我不明白你为什么要这样做?以这种方式检索字符串似乎毫无用处。
-
@RSahu 抱歉,不知道。
-
@MadsMarquart 这是我另一个问题的简化
标签: c++ friend-function friend-class