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

Можно ли сделать оператор + виртуальным? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача (определить траекторию полета в прямоугольной декартовой системе координат) http://www.cyberforum.ru/cpp-beginners/thread774153.html
Нужно реализовать ЭТО на с++. Помогите плизз. Пушечное ядро старинного образца или ракета, запускаемая под малым углом возвышения, стартует с начальной скоростью v(0) = v0 под углом возвышения Θ(0)=Θ0. Требуется определить траекторию полета в прямоугольной декартовой системе координат (с центром в точке старта, горизонтальной осью х и вертикальной осью у). На снаряд воздействуют только следующие...
C++ vector объектов структуры Здравствуйте господа програмисты,возникла у меня трудность,в програмке будет присутствовать неизвестное заранее количество координат максимум где-то под 2000-2500(8 integer на объект).Но в большинстве случаев будут использоваться всего 30-100 и было у меня в мыслях уже писать массив объектов структуры на 2500 персон да вот попалась на глаза книга по STL а там пречудесный вещ vector. Тока... http://www.cyberforum.ru/cpp-beginners/thread774124.html
Математика/физика/геометрия (готовые функции по вычислению формул) C++
Привет, нужны готовые функции по вычислению формул. Не хочу изобретать велосипед. Подскажет где их взять? Языки С/С++.
C++ Помочь Исправить код( Нахождение производной)
Программа по нахождению производной выражения аналитически. Прошу помочь ее доработать!!! нужно исправить функции умножения (*) и деления (/) что бы они выполнялись по правилам дефференцирования! (u(x)v(x))' = u'(x)v(x)+u(x)v'(x). (u(x)/v(x))' = (u'(x)v(x)-u(x)v'(x))/v^2(x) #include "stdafx.h" #include <windows.h> #include <iostream> #include <string> #include <vector> #include <stack>...
C++ Явный вызов деструктора http://www.cyberforum.ru/cpp-beginners/thread774040.html
Добрый вечер всем! Я раньше читал статью о деструкторах, и там говорилось что можно явно вызвать деструктор. Статью я прочитал и забыл) И теперь меня это заинтересовало, а статьи найти не могу) Каким образом можно явно вызвать деструктор? В каких случаях это нужно делать? Можно с примером, если вам не трудно) Спасибо всем!
C++ Помощь с ошибками в коде программы "Hello world" Я новичек, так что кривой немного. В общем хотел поставить себе среду Microsoft Visual C++ 6.0, но когда хочу скомпилировать какой-либо код, то пишет постоянно одну ошибку.Вот скрин: http://s020.***********/i716/1301/fc/37c528030a32.jpg подробнее

Показать сообщение отдельно
Hugo_Boss
1 / 1 / 0
Регистрация: 29.01.2013
Сообщений: 46

Можно ли сделать оператор + виртуальным? - C++

29.01.2013, 10:04. Просмотров 1274. Ответов 22
Метки (Все метки)

Привет всем!

У меня есть примерно такая структура:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class A {
public:
  virtual ~A();
  virtual void print() const = 0;
}
 
class B : public A {
public:
  B();
  ~B();
  virtual void print() const;
  friend B operator + (const char *sz, B &b) {
    B temp(sz);
    temp += b;
    return temp;
  }
};
 
class C : public A {
public:
  C();
  ~C();
  virtual void print() const;
  friend C operator + (const char *sz, C &c) {
    C temp(sz);
    temp += c;
    return temp;
  }
};
Как видно, в обоих дочерних классах имеется оператор +, реализация которого почти одинакова.
Вопрос: могу ли я перенести этот оператор в базовый класс с тем, чтобы не писать один и тот же код во всех дочерних классах? И если могу, то каким образом мне это надо делать?

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