У меня есть два класса, определенных в разных файлах h, и у каждого класса есть свои частные функции.Однако в каждом классе есть одна функция, к которой я хочу иметь доступ из функции другого класса.
Например ...
//apple.h:
class Beets;
class Apple
{
public:
double ShadeUsed();
private:
void Fruit();
bool RedRoots();
friend bool Beets::BlueRoots(); //<--- Error b/c not declared yet
};
//beets.h
#include "apple.h"
class Beets
{
public:
double SunNeeded();
private:
void Leaves();
bool BlueRoots();
friend bool Apple::RedRoots();
};
Цель состоит в том, чтобы только одна функция в каждом классе имела доступ к частным вещам других классов.Например, только корневая функция должна иметь доступ к личным вещам другого класса.Тем не менее, без включения в круговорот я не смогу добиться взаимной дружбы.
Я подумал, например, сделать так, чтобы весь класс Beets стал другом для Apple таким способом, которым было бы достаточно предварительного объявления класса, но я бы хотелдостаточно разрешить только одну функцию частному доступу.
Есть предложения?Заранее спасибо, Мэтт.
(PS, почему возврат каретки между каждым из "Спасибо заранее", "Мэтт" не приводит к переводу строки?)