Форум программистов, компьютерный форум CyberForum.ru

Наследование оператора '=' - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Копия процесса http://www.cyberforum.ru/cpp/thread106405.html
Чего надо написать под студией, чтоб полученная прога при запуске копии, что этот экземпляр непервый, но не закрывалась, а читала в массив HWNDы главных окон всех ранее запущенных экземпляров и посылала туда мессагу для добавления в такие же массивы HWNDа её собственного главного окна?
C++ Прототипы class A { ... public: type operator = (...); // Какой здесь type? A или A &? type operator + (...); // Какой здесь type? A или A &? type operator - (...); // Какой здесь type? A или A &? type operator * (...); // Какой здесь type? A или A &? type operator / (...); // Какой здесь type? A или A &? type operator += (...); // Какой здесь type? void, A или A &? http://www.cyberforum.ru/cpp/thread106382.html
C++ Состояние файлового потока
.... fostream log; .... class A { public: A (); }; A::A() {
Компоновщик vs. Шаблоны C++
Впервые реально понадобились шаблоны и.. затык :( Компановщик ругается так: 1>------ Построение начато: проект: Scene, Конфигурация: Debug Win32 ------ 1>Компоновка... 1>Main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall List<class Object>::~List<class Object>(void)" (??1?$List@VObject@@@@QAE@XZ) в функции _main 1>Main.obj : error LNK2019: ссылка на...
C++ Анализ цвета изображения. Кластеризация http://www.cyberforum.ru/cpp/thread105779.html
Здравствуйте, уважаемые! Мне нужна Ваша помощь, помогите советом. У меня есть задание для курсовой работы:решение задачи кластеризации для цветов радужной оболочки глаза. Все цвета глаз можно отнести к трем кластерам : коричневый, голубой и смешанный. Мне необходимо написать аналитическую программу, на вход которой бы подавалось изображение радужной оболочки глаза. Программа должна каким-либо...
C++ Откатываемый (undoable) класс Решил тут сделать универсальный интерфейс "откатываемости", который можно было бы прикрутить к любому классу. Идея в том, чтобы, унаследовав свой класс от некоторого класса Undoable, получить возможность сохранять, отменять и повторять изменения, произошедшие с классом. Ну, как undo/redo в любой программе. Но смысл именно в универсальности, т.е. отменять действия не на уровне приложения, а на... подробнее

Показать сообщение отдельно
Hypafrag
25 / 24 / 1
Регистрация: 19.03.2010
Сообщений: 57

Наследование оператора '=' - C++

19.03.2010, 17:10. Просмотров 2451. Ответов 6
Метки (Все метки)

Ситуация такая: пишу класс 3-мерного вектора, предварительно создав шаблон n-мерного вектора (ибо далее таким же макаром нужно соорудить и 2- и 4- мерные со своими плюшками):

C++
1
2
3
4
5
6
7
8
9
10
11
template <int DimensionsNum>
class VectorXD
{
  ...
}
 
class Vector3D :
  public VectorXD<3>
{
  ...
};
В VectorXD реализуются операции (сложение, нормализация и т.п.), в Vector3D реализуются только конструкторы для преобразование векторов Direct3D и прочих, а также хранятся ссылки на элементы массива, описанного в VectorXD.

Собсно проблема:
Все шикарно наследуется, кроме оператора '=', который кроме прочих определен в VectorXD. VS2008 говорит: "error C2582: функция 'operator =' недоступна в 'Vector3D'", когда видит использование оператора. Но когда я меняю имя оператора '=' на '<<', или еще какое, все работает как часы.

Собсно вопрос:
Так и должно быть, или мне убиваться об стену? Если так и должно быть, то есть ли способ как-то сделать '=', реализованый в VectorXD, доступным в Vector3D?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru