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

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

Восстановить пароль Регистрация
 
Vodmis
1 / 1 / 0
Регистрация: 18.10.2012
Сообщений: 15
07.07.2015, 20:17     Инициализация класса, возврат значений #1
Сама задача:
Реализовать класс 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();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2015, 20:17     Инициализация класса, возврат значений
Посмотрите здесь:

C++ Возврат массива из класса
проблема - инициализация класса A внутри класса B C++
C++ Инициализация объектов класса в конструкторе другого класса
Возврат объекта класса из функции C++
C++ инициализация класса С++
BST дерево. Инициализация класса внутри класса C++
Возврат значения объектом класса C++
Возврат vector из класса C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VIKT0R
8 / 8 / 2
Регистрация: 15.11.2011
Сообщений: 78
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;
}
Миниатюры
Инициализация класса, возврат значений  
Avazart
07.07.2015, 23:18     Инициализация класса, возврат значений
  #3

Не по теме:

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

Yandex
Объявления
07.07.2015, 23:18     Инициализация класса, возврат значений
Ответ Создать тему
Опции темы

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