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

Изменить код. ООП - C++

Восстановить пароль Регистрация
 
b0n4b!
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 26
25.03.2013, 09:09     Изменить код. ООП #1
изменить код чисто визуально, чтобы не нарушился смысл.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
RMaxPlus.h
#ifndef RMAXPLUS_HPP
#define RMAXPLUS_HPP
 
 
class RMaxPlus
{
public:
    RMaxPlus();
    RMaxPlus(double value);
    RMaxPlus(RMaxPlus& other);
    RMaxPlus operator+(RMaxPlus &a);
    RMaxPlus operator*(RMaxPlus &a);
 
    static const RMaxPlus zero;
    static const RMaxPlus unit;
 
    double value;
};
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
RMaxPlus.cpp
#include "RMaxPlus.h"
 
 
const RMaxPlus RMaxPlus::zero = RMaxPlus(100500);
const RMaxPlus RMaxPlus::unit = RMaxPlus(0);
 
 
RMaxPlus::RMaxPlus(): value(0)
{
}
 
 
RMaxPlus::RMaxPlus(double value): value(value)
{
}
 
 
RMaxPlus::RMaxPlus(RMaxPlus& other): value(other.value)
{
}
 
 
RMaxPlus RMaxPlus::operator+(RMaxPlus& a)
{
    RMaxPlus b,c;
    b.value=value;
    c.value=a.value;
    if(b.value>c.value)
        return b;
    else
        return c;
}
 
 
RMaxPlus RMaxPlus::operator*(RMaxPlus& a)
{
    RMaxPlus b;
    b.value=value+a.value;
    return b;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
RMaxMin.h
#ifndef RMAXMIN_HPP
#define RMAXMIN_HPP
 
 
class RMaxMin
{
public:
    RMaxMin();
    RMaxMin(double value);
    RMaxMin(RMaxMin& other);
    RMaxMin operator+(RMaxMin& a);
    RMaxMin operator*(RMaxMin& a);
 
    static const RMaxMin zero;
    static const RMaxMin unit;
 
    double value;
};
 
 
#endif RMAXMIN_HPP
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
RMaxMin.cpp
#include "RMaxMin.h"
 
 
const RMaxMin RMaxMin::zero = RMaxMin(-1000);
const RMaxMin RMaxMin::unit = RMaxMin(1000);
 
 
RMaxMin::RMaxMin(): value(0)
{
}
 
 
RMaxMin::RMaxMin(double value): value(value)
{
}
 
 
RMaxMin::RMaxMin(RMaxMin& other): value(other.value)
{
}
 
 
RMaxMin RMaxMin::operator+(RMaxMin& a)
{
    RMaxMin b,c;
    b.value=value;
    c.value=a.value;
    if(b.value>c.value)
        return b;
    else
        return c;
}
 
 
RMaxMin RMaxMin::operator*(RMaxMin& a)
{
    RMaxMin b,c;
    b.value=value;
    c.value=a.value;
    if(b.value<c.value)
        return b;
    else
        return c;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
RMinPlus.h
#ifndef RMINPLUS_HPP
#define RMINPLUS_HPP
 
 
class RMinPlus
{
public:
    RMinPlus();
    RMinPlus(double value);
    RMinPlus(RMinPlus& other);
    RMinPlus operator+(RMinPlus& a);
    RMinPlus operator*(RMinPlus& a);
 
    static const RMinPlus zero;
    static const RMinPlus unit;
 
    double value;
};
 
 
#endif RMINPLUS_HPP
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
RMinPlus.cpp
#include "RMinPlus.h"
 
 
const RMinPlus RMinPlus::zero = RMinPlus(-1000);
const RMinPlus RMinPlus::unit = RMinPlus(0);
 
 
RMinPlus::RMinPlus(): value(0)
{
}
 
 
RMinPlus::RMinPlus(double value): value(value)
{
}
 
 
RMinPlus::RMinPlus(RMinPlus& other): value(other.value)
{
}
 
 
RMinPlus RMinPlus::operator+(RMinPlus& a)
{
    RMinPlus b,c;
    b.value = value;
    c.value = a.value;
    if(b.value < c.value)
        return b;
    else
        return c;
}
 
 
RMinPlus RMinPlus::operator*(RMinPlus& a)
{
    RMinPlus b;
    b.value=value+a.value;
    return b;
}
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
main.cpp
#include<iostream>
using namespace std;
#include"RMinPlus.h"
#include"RMaxPlus.h"
#include"RMaxMin.h"
void main()
{
    RMinPlus a,a1;
    RMaxPlus b, e;
    RMaxMin c, y;
    a.value=1;
    a1.value=2;
    b.value=3;
    e.value=4;
    c.value=5;
    y.value=6;
    cout<<((a+a1)*a1).value<<endl;
    cout<<((a1+a)*a).value<<endl;
    cout<<((b+e)*b).value<<endl;
    cout<<((e+e)*b).value<<endl;
    cout<<((c+y)*y).value<<endl;
    cout<<((c+c)*y).value<<endl;
    system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2013, 09:09     Изменить код. ООП
Посмотрите здесь:

C++ ООП, review - проанализировать код
C++ Изменить код программы
Программирование ООП=)Друзья .просмотрите код! IDE-C++bUIDER C++
C++ Изменить код С++
Изменить код C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
25.03.2013, 09:17     Изменить код. ООП #2
b0n4b!, На что изменить и в чем проблема данного кода?
b0n4b!
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 26
25.03.2013, 17:59  [ТС]     Изменить код. ООП #3
Может как либо упростить его. Просто не совсем его понимаю.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
25.03.2013, 18:20     Изменить код. ООП #4
Цитата Сообщение от b0n4b! Посмотреть сообщение
изменить код чисто визуально, чтобы не нарушился смысл.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
using namespace std;
 
void main()
{
   
    int a = 1;
    int a1 = 2;
    int b= 3;
    int e = 4;
    int c = 5;
    int y = 6;
    cout<<((a < a1 ? a : a1) + a1) <<endl;
    cout<<(((a1 < a) ? a1 : a) + a) <<endl;
    cout<<((b > e ? b : e) + b) <<endl;
    cout<<(e + b) <<endl;
    cout<<((c > y ? c : y) + ((c > y ? c : y) <  y ? (c > y ? c : y) : y)) << endl;
    cout<<(c < y ? c : y) <<endl;
    system("pause");
}
Упростил, смысл не нарушен
b0n4b!
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 26
25.03.2013, 19:57  [ТС]     Изменить код. ООП #5
Kastaneda, Спасибо, но я не это имел ввиду.
Yandex
Объявления
25.03.2013, 19:57     Изменить код. ООП
Ответ Создать тему
Опции темы

Текущее время: 01:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru