С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 1
Регистрация: 14.05.2014
Сообщений: 39
1

Перегрузка оператора -

01.06.2015, 21:23. Показов 549. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть рабочий класс нужно в классе Tomato перегрузить оператор - (бинарный, дружественный), новое действие - из двух помидоров вернуть тот, у которого масса больше.


Завтра защита, помогите пожалуйста


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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#include "stdafx.h"
#include <iostream>
#include "windows.h"
#include <fstream>
#include <sstream>
 
using namespace std; 
 
class Vegetable
{
public:
    Vegetable(float mass, int ripeness)
    {
        this->Mass= mass;
        this->Ripeness=ripeness;
    }
    ~Vegetable()
    {
    }
     float GetMass() 
    {
        return Mass;
    }
   
     int GetrRpeness() 
    {
        return Ripeness;
    }
    void Fertilize() 
    {
        Mass+=0.1;
    }
    Vegetable& operator --();
protected:
    float Mass;
    int Ripeness;
};
 
 
class Tomato:public Vegetable
{
public:
    Tomato(float mass, int ripeness, char* type,  char* color, char* size);
    ~Tomato()
    {
    }
     char* GetType() 
    {
        return Type; 
    }
     char* GetColor()  
    {
        return Color;
    }
     char* GetSize() 
    {
        return Size;
    }
private:
   char* Type;
   char* Color;
   char* Size;
};
 
Tomato::Tomato(float mass, int ripeness, char* type,  char* color, char* size): Vegetable(mass, ripeness)
    {
        Type=type;
        Color=color;
        Size=size;
    }
 
 
int main()
{
 
    ofstream f ("../glas.txt", ios::trunc);
    SetConsoleCP(1251);       
    SetConsoleOutputCP(1251); 
    float x;
    int y,i,u=0;
    char z[20];
    char w[20];
    char q[20];
                    cout << "Введите массу: ";     cin >> x;
                    cout <<endl<< "Введите зрелость: ";    cin >> y;
                    cout <<endl<< "Введите сорт: ";  cin>>z;
                    cout <<endl<< "Введите цвет: ";  cin >> w;
                    cout <<endl<< "Введите размер: ";  cin >> q;
                    Tomato Shar(x,y,z,w,q);
                    system("pause");
        do {
        system("cls");
        cout<<"                                  Курсовой проект                                "<<endl;
        cout<<"Выбирите нужную вам операцию"<<endl<<"1 - Записать информацию в файл"<<endl<<"2 - Просмотреть данные"<<endl<<"3 - Увеличить массу"
        <<endl<<"4 - Выход"<<endl;
        cin>>i;
        system("cls");
        switch ( i )
                    {
                    case 1:
                        {
                        f<<"Масса: "<<x<<"\n";
                        f<<"Зрелость: "<<y<<"\n";
                        f<<"Сорт: "<<z<<"\n";
                        f<<"Цвет: "<<w<<"\n";
                        f<<"Размер: "<<q<<"\n";
                        cout<<"Информация записана"<<endl;
                        system("pause");
                        break;
                        }
                        case 2:{
                        cout<<endl<<"======================================="<<endl;
                        cout<<"Масса:"<<Shar.GetMass()<<endl;
                        cout<<"Зрелость:"<<Shar.GetrRpeness()<<endl;
                        cout<<"Сорт:"<<Shar.GetType()<<endl;
                        cout<<"Цвет:"<<Shar.GetColor()<<endl;
                        cout<<"Размер:"<<Shar.GetSize()<<endl;
                        system("pause");
                        break;
                               }
                        case 3:{
                        cout<<endl<<"======================================="<<endl;
                        Shar.Fertilize();
                        cout<<"Масса равна: "<<Shar.GetMass()<<endl;
                        system("pause");
                        break;
                               }
                        case 4:{
                            u=1;
                               }
                        
                    };
        }
        while(u==0);
        
 
    f.close();
    system("pause");
 
 
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2015, 21:23
Ответы с готовыми решениями:

Перегрузка оператора %
Подскажите пожалуйста как перегрузить оператор % для матрицы! #include &quot;StdAfx.h&quot; #include...

Перегрузка оператора ++
Написал префиксную перегрузку ++ Vremya &amp;Vremya::operator ++ () { int sec =...

Перегрузка оператора
#include &lt;iostream&gt; class Node { public: char *s; int length; Node * next; public:...

Перегрузка оператора []
Сделал простой аналог auto_ptr для дин. массива. Файл #ifndef ARRAY_PTR_GUARD #define...

0
01.06.2015, 21:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2015, 21:23
Помогаю со студенческими работами здесь

Перегрузка оператора ->
скажите, а какие особенности перегрузки -&gt; ?

перегрузка оператора +
Не могу понять: в 184 строке отказывается работать. Без нее - все нормально. Скорее всего...

Перегрузка оператора =
Скажи пожалуйста в каких случаях нужно перегружать оператор = ?

Перегрузка оператора ==
Я уже встречала подобный вопрос на этом форуме, но у меня всё равно что-то не получается Вот...

Перегрузка оператора[]
Пример взят из книги Лафоре, тема перегрузка операций. Выдает ошибки: 1.Требуется идентификатор....

Перегрузка оператора ()
Никак не могу разобраться с перерузкой оператора () и в литературе не могу найти доходчивое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru