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

Перегрузка операторов с++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сколько в float выделяется под экспоненту ? http://www.cyberforum.ru/cpp-beginners/thread693674.html
Сколько в float выделяется под экспоненту ? в одном источнике читаю - 1 бит под знак и 7 под экспоненту, в другом - 8 бит под экспоненту%-) "в 32-битном слове отведены 1 двоичный разряд под знак...
C++ Опишите каждую строчку в программе,что она означает #include <iostream.h> #include <stdlib.h> #include <conio.h> class B{ int a; public: B() { }; B(int x) { a=x; } void show_B() { cout <<"B= "<< a << "\n"; } http://www.cyberforum.ru/cpp-beginners/thread693661.html
C++ Опишите каждую строчку в программе,что она означает
#include <iostream.h> #include <stdlib.h> #include <conio.h> class B{ int a; public: B() { }; B(int x) { a=x; } void show_B() { cout <<"B= "<< a << "\n"; }
наследование классов C++
На данные момент имею данный код,помогите допилить,а именно 1)Контруктор копирования(там точно есть косяк) 2)Перегрузка = 3)В производном классе деструктор ведь не нужен? #include...
C++ Проблемы с циклами http://www.cyberforum.ru/cpp-beginners/thread693632.html
Нужна подсказка умелых с++ пользователей. Есть задача: Дана последовательность целых чисел. Определить кол-во чисел, кратных разности текущего и предыдущего числа. Напсиал сей код, но не все с...
C++ Вычисление функции c помощью разложения в ряд Составить программу для вычисления функции c помощью разложения в ряд: arctgx=-п/2 + (формула) = -п/2 - 1/х + 1/3x^3.... Вычислить и вывести на экран в виде таблицы значения функции на... подробнее

Показать сообщение отдельно
Smetanka
56 / 17 / 1
Регистрация: 14.05.2012
Сообщений: 134

Перегрузка операторов с++ - C++

10.11.2012, 12:29. Просмотров 605. Ответов 10
Метки (Все метки)

Доброго времени суток! Возникло недопонимание. Есть абстрактный класс Integer
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class Integer
{
public:
    void virtual print() = 0;
    friend Integer& operator +( const Integer &);
    friend Integer& operator -( const Integer &);
    friend Integer& operator *( const Integer &);
    friend Integer& operator /( const Integer &);
    Integer(){
    };
    virtual ~Integer(){
    };
};
от него наследуется класс Decimal
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
class Decimal:public Integer
{
public:
    void print()
    {
        int a = atoi(data);
        cout << a;
    };
    Decimal& operator+( const Decimal &B)
    {
        int tmp1 =  atoi(this->data),
            tmp2 =  atoi(B.data);
 
        Decimal *Int = new Decimal(tmp1+tmp2);
 
        return *Int;
    };
    Decimal& operator-( const Decimal &B)    
    {
        int tmp1 =  atoi(this->data),
            tmp2 =  atoi(B.data);
 
        Decimal *Int = new Decimal(tmp1-tmp2);
 
        return *Int;
    };
    Decimal& operator*( const Decimal &B)
    {
        int tmp1 =  atoi(this->data),
            tmp2 =  atoi(B.data);
 
        Decimal *Int = new Decimal(tmp1*tmp2);
 
        return *Int;
    };
    Decimal(int a)
    {
        data = new char[10];
        data = itoa(a, data, 10);
    };
    Decimal(){
    };
    ~Decimal()
    {
    };
private:
    char *data;
};
А теперь суть вопроса.
C++
1
friend Integer& operator /( const Integer &);
ошибка при компиляции - IntelliSense: слишком мало параметров для этой функции оператора. Я даже не могу понять где тут костыль. Остальные операторы работают норм.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru