class A
{
...
protected:
void someMethod(tPvFrame* pData){ value = 1; }
private:
int value;
friend void func(tPvFrame* pData);
};
------------------------cpp-file-----------------------
....
void func(someStruct* pData)
{
A* someClass = (A*)pData->Context[0];
if(A)
A->someMethod(pData);
}
Не понимаю до конца как работает этот механизм... Объясните пожалуйста, если кто-то знает.
friend void func(tPvFrame* pData);
Это свободная функция, а не член класса. Самая обычная, просто - в силу friend
- имеющая полный доступ ко всем внутренностям класса A
, включая те, которые private
.
Кстати, что-то не верится, что ваш cpp скомпилируется - friend
вне класса смысла не имеет...
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я хочу написать небольшую консольную программу на С++, пара файлов с исходниками и тесты
Дано задание под номером 7Первые два года рассчитывает правильно, а вот на 10 год получается такой ответ = 10998
Имеется прорисовка пути маршрута автобуса выполненная при помощи массива точек (широта, долгота) которые затем через leaflet прорисовываются...
Пишу класс матриц и возникла проблема с конструкторамиВ предпоследней строчке при вызове конструктора, принимающего на вход 3 переменные,...