Имеется два класса Koords и Comlexity. В класс Complexity входит один объект класса Koords, при этом в классе Complexity есть функция, котороя оперирует значениями объекта Koords. Для удобства хочется, чтобы эта функция могла обращаться непосредственно к членам класса Koords - для этого я сделал Complexity другом Koords. Но вот мне интересно, а можно ли сделать другом только необходимую функцию, а не весь класс?
Пуркуа бы и не па?
class B;
class A
{
public:
void Friend(B&);
void Enemy(B&);
};
class B
{
public:
B(int x):x(x){}
private:
int x;
friend void A::Friend(B&);
};
void A::Friend(B&b) { cout << b.x << endl; }
void A::Enemy(B&b) { cout << b.x << endl; }
int main(int argc, const char * argv[])
{
B b(5);
A a;
a.Friend(b);
a.Enemy(b);
}
Попробуйте скомпилировать - проблемы будут только в Enemy
...
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В чем принципиальное отличие ссылки от указателя в С++? Когда лучше использовать ссылку, а когда указатель? Какие ограничения есть у первых,...
Вчера победил многозадачность в Arduino и решил не делать 4 переменные 2 из которых копия других 2Засунул одинаковые переменные в разные функции
Здравствуйте, нужно для лабораторных писать ПО под LinuxПоставил на Virtual Box Mint(писали что он лучше всего для новичков подойдет)
Здравствуйте, изучаю вот OpenGL, и наткнулся на совсем мне непонятную проблему, вот код: