Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Vodmis
1 / 1 / 0
Регистрация: 18.10.2012
Сообщений: 15
1

Инициализация класса, возврат значений

07.07.2015, 20:17. Просмотров 406. Ответов 2
Метки нет (Все метки)

Сама задача:
Реализовать класс Rectangle. Класс должен хранить координаты, а так же длину и ширину прямоугольника. Предусмотреть инициализацию данного класса через конструктор по умолчанию и с помощью координат двух противоположных вершин. Общими должны быть методы, которые возвращают координаты прямоугольника (x1, x2, y1, y2), длину, ширину, площадь, а также методы позволяющие изменять координаты, длину и ширину прямоугольника и выполнять масштабирование.

Как сделать инициализацию класса через конструктор по умолчанию и с помощью координат двух противоположных точек?
И метод для возвращения данных правильный?


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
#include <stdio.h>
#include <conio.h>
#include <math.h>
using namespace std;
class rectangle
{ private:
    int x1,x2,y1,y2,length,width,square;
public:
    rectangle ();
    void vivod();
    void change (int a1,int b1,int a2,int b2);
    void mashtab(int k);
    void dw(int d,int w);
    int getzn();
    };
    rectangle::rectangle()
    {
        x1=4;
        y1=5;
        x2=-4;
        y2=-5;
        length=x1-x2;
        width=y1-y2;
    }
    void rectangle::vivod ()
    {
      square=length*width;
      printf ("\nKoordinati pryamoygolnika \nx1=%d\ny1=%d\nx2=%d\ny2=%d",x1,y1,x2,y2);
      printf ("\nDlina=%d\nShirina=%d\nPloshad dannogo pryamoygolnika=%d\n",length,width,square);
    }
   void rectangle::change (int a1,int b1,int a2,int b2)
   {
  x1=a1;
  y1=b1;
  x2=a2;
  y2=b2;
length=x1-x2;
 width=y1-y2;
}
void rectangle::mashtab(int k)
{
length=length*k;
width=width*k;
x2=x1+length;
y2=y1+width;
}
void rectangle::dw(int d,int w)
{
    length=d;
    width=w;
    x2=x1+length;
    y2=y1+width;
}
int rectangle::getzn()
{
    return x1, x2, y1, y2, length, width, square;
}
int main()
{  int a1,b1,a2,b2,k,d,w,square;
    rectangle newRec;
    newRec.vivod();
    printf ("\nVvedite svoi dannie x1,y1,x2,y2:\n");
    scanf ("%d %d %d %d",&a1,&b1,&a2,&b2);
    newRec.change(a1,b1,a2,b2);
    newRec.vivod();
    printf ("\nVvedite novoe znacheniya d=\n");
    scanf ("%d",&d);
    printf ("Vvedite novoe znacheniya w=\n");
    scanf ("%d",&w);
     newRec.dw(d,w);
     newRec.vivod();
    printf ("\nVvedite koefficent mastabirovaniya:\n");
    scanf ("%d",&k);
    newRec.mashtab(k);
    newRec.vivod();
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2015, 20:17
Ответы с готовыми решениями:

Инициализация значений переменной класса и возведение их в квадрат
Вот программа: #include &lt;iostream&gt; using namespace std; class squares {...

Создать класс CheckerBoard (особенности строения класса - инициализация константных членов класса)
Вот код: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std;...

Инициализация членов дочернего класса членами класса родителя
Есть уже созданный класс-родитель A. Как эффективно инициализировать дочерний...

Инициализация экземпляра класса, как поле другого класса
Всем доброго времени суток ! Есть класс: class a{ public: a(int...

BST дерево. Инициализация класса внутри класса
Здравствуйте, нужно реализовать класс дерева бинарного поиска с использованием...

2
VIKT0R
9 / 9 / 5
Регистрация: 15.11.2011
Сообщений: 112
07.07.2015, 22:46 2
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
#include <iostream>
 
class Rectangle
{
public:
    Rectangle( int in_x1 = 0, int in_y1 = 0, int in_x2 = 20, int in_y2 = 10 );   // координаты по умолчанию
 
    int x1, x2, y1, y2;
 
};
 
Rectangle::Rectangle( int in_x1, int in_y1, int in_x2, int in_y2 )
{
    x1 = in_x1;
    y1 = in_y1;
    x2 = in_x2;
    y2 = in_y2;
 
}
 
 
int main()
{
    Rectangle rect1;   // координаты по умолчанию
              Rectangle rect2( 5, 5, 25, 40 );   // другие координаты
 
    std::cout << rect1.x1 << ' ' << rect1.y1 << ' ' << rect1.x2 << ' ' << rect1.y2 << std::endl;
 
    std::cout << rect2.x1 << ' ' << rect2.y1 << ' ' << rect2.x2 << ' ' << rect2.y2 << std::endl;
 
 
    return 0;
}
0
Миниатюры
Инициализация класса, возврат значений  
Avazart
07.07.2015, 23:18     Инициализация класса, возврат значений
  #3

Не по теме:

VIKT0R, Пример как не надо делать, инициализация не с помощью списка инициализации, открытые члены класса.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2015, 23:18
Привет! Вот еще темы с ответами:

Инициализация объектов класса в конструкторе другого класса
У меня есть класс Subscriber,в котором есть несколько объектов другого класса...

Инициализация класса A внутри класса B
заранее извиняюсь, наверняка подобное было на одной из 1000 страниц=)... есть...

Возврат массива из класса
вот класс в котором есть массив а class Population1 { public: ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru