Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамический список https://www.cyberforum.ru/ cpp-beginners/ thread924577.html
Вот есть класс..совсем не замысловатый! //=============================================================================...
C++ Использование функции cpp в проекте c
Есть сишный проект, понадобилось прикрепить к нему один готовый плюсовый модуль. Схематичный вид этого модуля: //module.cpp namespace module_namespace { struct params { inline...
C++ Быстрота работы
Скажите, какой алгоритм на языке C++ будет выполняться быстрее, если мы не знаем величину массива: в котором я создам сразу большой массив, а буду использовать только часть. Или быстрее будет...
C++ Как записывать в массив с 2 переменными текст Как записывать в массив с 2 переменными,текст,тоесть есть массив mas, в а="привет", в b="пока"; https://www.cyberforum.ru/ cpp-beginners/ thread924505.html
C++ stack around the variable was corrupted масив через указатель https://www.cyberforum.ru/ cpp-beginners/ thread924484.html
Такая проблема - создаю масив целых чисел через функцию с использованием указателей - выскакивает данная ошибка, хотя код работает верно, почитал - что где-то идет переполнение, но как избавиться ума...
Начало пути прогера C++
Здравствуйте. Мне 19, перешел на 3 курс по специальности "Компьютерная безопасность". Уже 2 года периодически интересуюсь программированием, почитал некоторые книжки, попробовал написать код и каждый...
Составить блок-схему C++
#include <iostream> #include <string> #include <iomanip> using namespace std; struct PRICE{ string tovar; string shop; int price; }; int main()
C++ Число int в десятичной преобразовать в char - двоичной Помогите пожалуйста. Ситуация похожа, код прилагается - нужно число int в десятичной преобразовать в char - двоичной, совсем запутался в указателях. В итоге в _result выводится абракадабра, пробовал... https://www.cyberforum.ru/ cpp-beginners/ thread924443.html
C++ Что посоветуете написать? https://www.cyberforum.ru/ cpp-beginners/ thread924420.html
Заканчиваю читать книгу о C++, после неё начну изучать алгоритмы. Чтобы закрепить мои скромные умения и получить опыт, какой проект нужно начать мне как новичку? Может, написать что-то под андроид?...
C++ Ошибка LNK2019 Создается библиотека D:\EWIL\EWIL(Old)\EWIL\scr\map editor\Debug\Map Editor.lib и объект D:\EWIL\EWIL(Old)\EWIL\scr\map editor\Debug\Map Editor.exp 4>EditorApp.obj : error LNK2019: ссылка на... https://www.cyberforum.ru/ cpp-beginners/ thread924399.html
136 / 128 / 59
Регистрация: 13.12.2012
Сообщений: 293
17.07.2013, 16:11 0

Шаблон класса и дружественная функция

17.07.2013, 16:11. Просмотров 1181. Ответов 6
Метки (Все метки)

Ответ

Не знаю, правильно это, или нет, но происходит все примерно так:
Здесь
C++
1
Test<int> t(10, 10), t1(10, 10);
происходит инстанцирование экземпляра Test<int>, т.е. создается класс, где T заменяется на int, соответственно, friend там выглядит примерно так:
C++
1
friend bool operator == (Test<int> &, Test<int> &);
Если есть слово friend, значит, эта функция видна в той же области видимости, где и находится класс (т.е., в нашем случае, в глобальной, где main)
И когда встречается вызов operator==(a,b), то встает выбор что вызывать, обычную функцию или шаблонную. У обычной приоритет больше, чем у шаблонной, соответственно, должна вызываться она, но она не определена, поэтому появляется LNK2019.

Вернуться к обсуждению:
Шаблон класса и дружественная функция
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2013, 16:11

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Дружественная функция-оператор, доступ к закрытым полям класса
У меня есть класс MyClass, вот код: class MyClass { int x, y; public: MyClass(); friend...

Дружественная функция не может получить доступ к приватным данным класса
Доброго времени суток уважаемые форумчане), пытаюсь реализовать дружественную функцию которая берет...

Почему дружественная функция не может обратиться к protected полю класса?
Не могу понять, почему функция не может обратиться к protected полю класса: class Ships {...

Почему дружественная функция с перегруженным оператором << не имеет доступа к данным класса?
В заголовочном файле &quot;klass.h&quot; есть класс: class klass { int x; public: klass(); ~klass();...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.