Форум программистов, компьютерный форум, киберфорум
Наши страницы

Полиморфизм, дружественные функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шаблон функции не работает http://www.cyberforum.ru/cpp-beginners/thread920843.html
В чем я допустил ошибку? Почему шаблон функции не работает? #include <iostream> using namespace std; template < typename O > O max( O number1, O number2 ) { O maxValue = number1; if (...
C++ Прикол с указателями взял пример с http://www.cplusplus.com/reference/algorithm/find/, немного поэксперементировал и наткнулся на необъяснимый факт) Смотрим: #include <iostream> // std::cout #include <algorithm> ... http://www.cyberforum.ru/cpp-beginners/thread920838.html
C++ Нужна помошь:выделение в тексте слов с заданной буквой
Необходима помощь в реализации одной задачи:Нужно вывести текст на экран из файла, и по нажатию произвольной клавиши поочередно выделяет в тексте слова с заданной буквой (вводится с клавиатуры);...
Быстрый поиск совершенных чисел C++
Чтобы легко можно было отсылать вопрошающих по этому вопросу, создаю новую тему. Напомню, что Совершенное число — натуральное число, равное сумме всех своих собственных делителей (т. е. всех...
C++ bool функция, нужен разбор http://www.cyberforum.ru/cpp-beginners/thread920795.html
bool not_url_char(char c) { static const string url_char="~,./?!@#$%^&*()_-+=;'"; return !(isalnum(c)||find(url_char.begin(), url_char.end(), c)!=url_char.end()); } Данная функция должна...
C++ Массив: Как скопировать двумерный массив в другой массив? Как скопировать двумерный массив в другой массив? подробнее

Показать сообщение отдельно
Мимино
180 / 151 / 5
Регистрация: 22.05.2013
Сообщений: 440
Записей в блоге: 1
10.07.2013, 14:48
Цитата Сообщение от Hugo_Boss Посмотреть сообщение
А можно, пожалуйста, объяснить, почему такое невозможно? И какая нужна перегрузка, чтобы заработало?
Спасибо.
C++
1
(Base &base, int n)
Эта перегрузка может складывать объект класса Base с объектом int. Когда вы вызываете der1 + der2, это равносильно:
C++
1
der1.operator+(der2)
Чтобы заработало:
1. Убрать дружественность и сделать функцию обычной функцией - элементом (конечно, если у Вас не будет записей типа int + YourClassObj).
2. Решить что и с чем Вы собираетесь складывать/
3. Описать алгоритм сложения

Добавлено через 9 минут
Вот тут могу ошибаться, поэтому поправьте меня люди добрые
1. Дружественность не наследуется. Для каждого производного класса нужно будет переопределять дружественную функцию.
2. При чем тут полиморфизм? "Загнав" все методы в базовый класс Вы не сможете вызвать метод производного класса через указатель базового класса, а ровно наоборот.

Вопрос. Чего конкретно вы хотите добиться? Полиморфизм или наследование методов базового класса?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru