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

Наследование и перегрузка операторов. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реферат http://www.cyberforum.ru/cpp-beginners/thread166874.html
Получил задание, сделать Реферат по теме "Классы Конструкторы и Деструкторы в С++" Самого реферата я не нашёл, так что нужно сделать самому. Прошу посоветовать Книгу, откуда можно взять эту инфу,...
C++ В одномерном массиве, состоящем из N вещественных элементов, вычислить В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1. максимальный по модулю элемент массива; 2. сумму элементов массива, расположенных между первым и вторым... http://www.cyberforum.ru/cpp-beginners/thread166869.html
В одномерном массиве , состоящем из N целых элементов , вычислить : C++
В одномерном массиве , состоящем из N целых элементов , вычислить : 1. минимальный по модулю элемент массива ; 2. сумму модулей элементов массива , расположенных после первого ...
C++ Не открывается файл
#include <iostream> #include <fstream> #include <string> #include <cstdlib> using namespace std; const int INITIAL_LIST_CAPACITY = 10; void build_wordlist (string* &word_list,int...
C++ Не получается переложить код с языка C# на язык С http://www.cyberforum.ru/cpp-beginners/thread166865.html
Подскажите пожалуйста, как переложить этот код на язык С using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class...
C++ Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX. Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX. F=ax^2+b*b*x при a < 0 и x неравно 0 F= x-(a/x-c) при a > 0 и x = 0 1+x/c в остальных... подробнее

Показать сообщение отдельно
GAME
23 / 23 / 3
Регистрация: 31.10.2009
Сообщений: 199

Наследование и перегрузка операторов. - C++

18.09.2010, 12:27. Просмотров 6753. Ответов 16
Метки (Все метки)

У меня есть базовый класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class myfloat
{
protected:
    int c;
    int z;
    void reduce();
public:
    myfloat(float num=0);
    myfloat(int i,int j);
    void print();
    friend myfloat operator+(myfloat,myfloat);
    friend myfloat operator-(myfloat,myfloat);
    friend myfloat operator*(myfloat,myfloat);
    friend myfloat operator/(myfloat,myfloat);
};
И есть второй класс, который открыто наследует myfloat
C++
1
2
3
4
5
6
7
8
9
10
11
12
class saturation:public myfloat
{
    bool flag;
    void CheckLimit();
public:
    saturation(float=0);
    void show();
    friend saturation operator+(saturation,saturation);
    friend saturation operator-(saturation,saturation);
    friend saturation operator*(saturation,saturation);
    friend saturation operator/(saturation,saturation);
};
Проблема заключается вот в чём:
нужно в производном классе saturation написать операторы.
выглядеть они должны так.
(например оператор +)
C++
1
2
3
4
5
6
saturation operator+(saturation A,saturation B)
{
    //ВЫЗОВ ОПЕРАТОРА + ИЗ КЛАССА myfloat
    //ВЫЗОВ Функции CheckLimit() из класса saturation для A, судя по всему-   A.CheckLimit();
    return /* Что-то */;
}
в классе myfloаt все операторы написаны
пробовал вызывать оператор + из mfloat вот так :
C++
1
myfloat(A)=operator +((myfloat)A,(myfloat)B);
Оператор вызывался корректно, только А оставалось без изменений....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru