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

разработать класс прямоугольник - C++

Восстановить пароль Регистрация
 
mcgrady
0 / 0 / 0
Регистрация: 04.06.2011
Сообщений: 9
05.06.2011, 15:44     разработать класс прямоугольник #1
разработать класс прямоугольник. определить конструктор и деструктор. реализовать объявленные методы(3 метода) доступа к данным.

Вот!
задачу довел до этого...
но выдает ошибки, незнаю как исправить((


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
#include <iostream>
#include <string>
class Rectange  //объявление класса Rectange
{
public:     //начало раздела public
    Rectange(); //конструктор
    ~Rectange();    //деструктор
    //методы
    
    void color();
    int Getshirina();
    void Setshirina(int shirina);
    int Getdlina();
    void Setdlina(int dlina);
};
void Rectange::color()
{
    std::cout<<"red.\n";
}
 
void Rectange::Setshirina(int shirina)
{
    shirina = shirina;
}
void Rectange::Setdlina(int dlina)
{
    dlina = dlina;
}
 
int main()
{
Rectange Small()
Small.Setcolor(red);
std::cout<<"Small is a Rectange who is ";
std::cout<<Small.Getcolor()<<" color.\n";
Rectange Small()
Small.Setcolor(green);
std::cout<<"Now Small is ";
std::cout<<Small.Getcolor()<<" color.\n";
std::cout<<"Small have shirina";
std::cout<<"Small have dlina";
system ("pause") ;
 
return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2011, 15:44     разработать класс прямоугольник
Посмотрите здесь:

Создать класс прямоугольник. C++
класс прямоугольник. C++
Иерархия геометрических объектов: клас точка->класс квадрат->класс прямоугольник C++
C++ класс - прямоугольник
C++ Класс прямоугольник (Visual C++)
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты. C++
C++ Класс Rectangle (прямоугольник)
Класс Прямоугольник C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,404
05.06.2011, 17:06     разработать класс прямоугольник #2
Ну во первых, ты используешь методы Setcolor() и Getcolor() которые даже не определил. И вобще, у тебя класс имеет лишь функции. Я бы все таки дал ему несколько переменных, таких как color, length, width. Да, и конструктор по умолчанию вызывается вот так: Rectange Small, хотя элементы класса надо бы назвать по разному, например Small1 и Small2. Также полезным было бы сделать конструктор аргументированным, ну или вызывать функции, требущие ввода параметров.

Добавлено через 40 минут
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
#include <iostream>
#include <cstring>
using namespace std;
class Rectange //îáúÿâëåГ*ГЁГҐ ГЄГ«Г*Г±Г±Г* Rectange
{
     public: //Г*Г*Г·Г*ëî Г°Г*çäåëГ* public
         Rectange(float, float, string); //ГЄГ®Г*ñòðóêòîð
         ~Rectange(){}; //äåñòðóêòîð
         //ìåòîäû
         void setcolor(string );
         void setshirina(float );
         void setdlina(float );
         void getcolor();         
         void getshirina();
         void getdlina();
         void getall();     
     protected:
         float dlina, shirina;
         string color;
};
 
int main()
{
     setlocale(LC_ALL,"Russian"); // ÷òîáû ìîæГ*Г® áûëî ГЇГЁГ±Г*ГІГј ГЇГ®-ðóññêè :)
     // ñòðîèì ýëåìåГ*ГІ ГЄГ«Г*Г±Г±Г* Rectange Г± Г§Г*Г¤Г*Г*Г*ûìè ГЇГ*Г°Г*ìåòðГ*ìè
     Rectange Small(5, 2, "red"); 
     Small.getall();
     Small.setshirina (2.5);
     Small.getshirina();
     Small.setdlina (10);
     Small.getdlina();
     Small.setcolor ("green");
     Small.getcolor();
     Small.getall();
     system ("pause");
     return 0;
}
 
Rectange::Rectange(float d, float sh, string c) // ГЄГ®Г*ñòðóêòîð
{
    do // ïðîâåðêГ* 
    {
         if (d<=0)
         {
             cout<<"Âû ââåëè Г*ГҐГЇГ°Г*âèëüГ*ûé ГЇГ*Г°Г*ìåòð äëèГ*Г». Ïîâòîðèòå: ";
             cin>>d;
         }
    } while (d<=0);
    dlina = d;
    do // ïðîâåðêГ* 
    {
         if (sh<=0)
         {
             cout<<"Âû ââåëè Г*ГҐГЇГ°Г*âèëüГ*ûé ГЇГ*Г°Г*ìåòð øèðèГ*Г». Ïîâòîðèòå: ";
             cin>>sh;
         }
    } while (sh<=0);
    shirina = sh;
    color = c;
}
 
void Rectange::setcolor(string c)
{
     color = c;
}
 
void Rectange::setshirina(float sh)
{
     do // ïðîâåðêГ* 
    {
         if (sh<=0)
         {
             cout<<"Âû ââåëè Г*ГҐГЇГ°Г*âèëüГ*ûé ГЇГ*Г°Г*ìåòð øèðèГ*Г». Ïîâòîðèòå: ";
             cin>>sh;
         }
    } while (sh<=0);
    shirina = sh;
}
 
void Rectange::setdlina(float d)
{
    do // ïðîâåðêГ* 
    {
         if (d<=0)
         {
             cout<<"Âû ââåëè Г*ГҐГЇГ°Г*âèëüГ*ûé ГЇГ*Г°Г*ìåòð äëèГ*Г». Ïîâòîðèòå: ";
             cin>>d;
         }
    } while (d<=0);
dlina = d;
}
 
void Rectange::getcolor()
{
     cout<< "ÏðÿìîóãîëüГ*ГЁГЄ èìååò "<< color<< " öâåò"<< endl;
}
 
void Rectange::getshirina()
{
     cout<< "ÏðÿìîóãîëüГ*ГЁГЄ èìååò øèðèГ*Гі, Г°Г*ГўГ*ГіГѕ "<< shirina << endl;
}
 
void Rectange::getdlina()
{
     cout<< "ÏðÿìîóãîëüГ*ГЁГЄ èìååò äëèГ*Гі, Г°Г*ГўГ*ГіГѕ "<< dlina << endl;
}
 
void Rectange::getall()
{
     cout<< "ÏðÿìîóãîëüГ*ГЁГЄ èìååò "<< color<< " öâåò, øèðèГ*Гі Г°Г*ГўГ*ГіГѕ "<< shirina
         << ", äëèГ*Гі Г°Г*ГўГ*ГіГѕ "<< dlina << "."<< endl;
}
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
05.06.2011, 17:28     разработать класс прямоугольник #3
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
#include <iostream>
 
#define PRINT(EXP) std::cout << #EXP ": " << (EXP) << std::endl
 
class rect
{
public:
    rect(size_t w = 0, size_t h = 0);
 
    size_t get_height() const;
    size_t get_width() const;
 
    rect& set_height(size_t h);
    rect& set_width(size_t w);
 
    size_t square() const;
    size_t perimeter() const;
 
private:
    size_t _w, _h;
};
 
int main()
{
    rect default_rect;
    std::cout << "Default rect's been created" << std::endl;
 
    PRINT(default_rect.get_width());
    PRINT(default_rect.get_height());
    PRINT(default_rect.square());
    PRINT(default_rect.perimeter());
            
    default_rect.set_width(3).set_height(4);
    std::cout << "Dimensions of rect have been set" << std::endl
          << "width = 3" << "\theight = 4" << std::endl;
 
    PRINT(default_rect.get_width());
    PRINT(default_rect.get_height());
    PRINT(default_rect.square());
    PRINT(default_rect.perimeter());
        
    return 0;
}
 
rect::rect(size_t w, size_t h)
    : _w(w), _h(h)
{
}
 
size_t rect::get_height() const
{
    return _h;
}
 
size_t rect::get_width() const
{
    return _w;
}
 
rect& rect::set_height(size_t h)
{
    _h = h;
    return *this;
}
 
rect& rect::set_width(size_t w)
{
    _w = w;
    return *this;
}
 
size_t rect::square() const
{
    return _w * _h;
}
 
size_t rect::perimeter() const
{
    return 2 * (_w + _h);
}
Цитата Сообщение от mcgrady Посмотреть сообщение
C++
1
2
3
4
int Getshirina();
 void Setshirina(int shirina);
 int Getdlina();
 void Setdlina(int dlina);
такие идентификаторы в коде просто убивают. Учите уже английский

MrGluck, засовывать ввод-вывод внутрь класса - моветон.
Yandex
Объявления
05.06.2011, 17:28     разработать класс прямоугольник
Ответ Создать тему
Опции темы

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