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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dan299
1 / 1 / 0
Регистрация: 17.09.2011
Сообщений: 39
#1

Конструктор классы - C++

12.11.2011, 18:35. Просмотров 441. Ответов 9
Метки нет (Все метки)

В общем. Вот задача. Мне надо, чтобы с помощью конструктора объекту присваивались значения. Вот код, со всеми методами, которыми я пробовал это сделать. Так что не так? Почему он не хочет работать? В main описанная функция (наверно) путём присваивания hh.a[][] работает, но это не то. Должно инициализироваться без подобного обращения к объекту, т.е только путём присваивания к a[][]. Подскажите
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
/*
Составить описание класса прямоугольника со сторонами, параллельными осям координат. 
Предусмотреть возможность перемещения прямоугольника на плоскости, изменение размеров, 
построение наименьшего прямоугольника, содержащего 2 заданных прямоугольника и прямоугольник, 
являющегося общей частью(пересечением) 2-х прямоугольников.
*/
 
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <locale.h>
class Priamoug
{   
public:
    int a[2][2];
    Priamoug(){};
    ~Priamoug(){};
    void Vvod(int x1,int x2, int y1, int y2);
    Priamoug(int x1,int x2, int y1, int y2){
        a[0][0] = x1;
        a[0][1] = y1;
        a[1][0] = x2;
        a[1][1] = y2;
    };
};
void Priamoug::Vvod(int x1, int x2, int y1, int y2)
{
    Priamoug::Priamoug(x1, x2, y1, y2)/*{
        a[0][0] = x1;
        a[0][1] = y1;
        a[1][0] = x2;
        a[1][1] = y2;
    }*/;
}
int main()
{ 
    setlocale (LC_ALL, "");
    int i, j, m, o = 1, x1, x2, y1, y2;
    printf ("ВНИМАНИЕ!! \n");
    printf ("Координаты вводятся только левого нижнего и правого верхнего\n");
    printf ("угла прямоугольника. Первой - абсцисса, второй - ордината.\n");
    printf ("Выводятся координаты аналогичным образом.\n");
    printf ("\n");
    printf ("Введите координаты прямоугольника\n");
    scanf ("%d", &x1);
    scanf ("%d", &y1);
    scanf ("%d", &x2);
    scanf ("%d", &y2);
    Priamoug hh;
    //Priamoug::Priamoug(x1, x2, y1, y2);
    /*{
        hh.a[0][0] = x1;
        hh.a[0][1] = y1;
        hh.a[1][0] = x2;
        hh.a[1][1] = y2;
    };*/
    hh.Vvod(x1, x2, y1, y2);
    printf ("%d %d %d %d", hh.a[0][0], hh.a[0][1], hh.a[1][0], hh.a[1][1]);
    getch ();
return 0;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2011, 18:35     Конструктор классы
Посмотрите здесь:

Классы и конструктор - C++
Мне нужно реализовать: конструктор, который в качестве параметра принимает текстовый файл. Этот конструктор находится в классе, в этом же...

Классы, конструктор, деструктор - C++
Написал код, куда и как глубоко меня посылает компилятор я понять не могу, заранее спасибо) Задание: Створити клас Array (Динамічний...

Классы, конструктор копирования - C++
Здравствуйте! вот код: #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iomanip.h&gt; class matrix { ...

Классы, конструктор, деструктор - C++
помогите пожалуйста найти ошибку, заранее спасибо задание Створити клас - &quot;дата&quot; з полями: день (1 - 31), місяць (1 - 12), рік (ціле...

Классы: конструктор копий - C++
Создать конструктор копий и оператор присваивания для класса компьютер и члена класса марка Есть некоторые наброски , посмотрите...

Классы. конструктор копирования - C++
Добрый вечер кодеры ;D Можете помоч с прогой?!.. Надо дописать конструктор копирования. Вроде как описал (не уверен что правильно) и...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
amor1k
Студент
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
12.11.2011, 18:50     Конструктор классы #2
C++
1
Priamoug hh(x1,x2,y1,y2);
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,587
Записей в блоге: 12
12.11.2011, 18:50     Конструктор классы #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class pram
{
private: 
    int a,b,x,y;         
public:      
    inline pram(int a,int b,int x,int y){};      
    int move(int ,int);
    void drav();  
};
int pram::move(int a,int b)
{
this->a+=a;    
this->b=+b;
this->x+=a;    
this->y=+b;
}
void pram::drav()
{
//..... у меня нет стандартных функций работы с графой    
}
Dan299
1 / 1 / 0
Регистрация: 17.09.2011
Сообщений: 39
12.11.2011, 18:55  [ТС]     Конструктор классы #4
Спасибо!)
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,587
Записей в блоге: 12
12.11.2011, 18:59     Конструктор классы #5
Dan299, а чё вам мой прямоугольник не использовать там переменные больше нагружены смыслом он меньше и быстрее работает
Dan299
1 / 1 / 0
Регистрация: 17.09.2011
Сообщений: 39
12.11.2011, 19:06  [ТС]     Конструктор классы #6
Van111, это както для меня сложно)

amor1k, А если ввод оформлять отдельной функцией, как метод - в описании функции также написать эту строку, но вместо hh какойто абстрактный объект? И потом наш объект (hh) передать в параметрах функции ввода?
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,587
Записей в блоге: 12
12.11.2011, 19:11     Конструктор классы #7
C++
1
inline pram(int a,int b,int x,int y){};
сразу вбиваются четыре значения которые ту передашь в переменные a b x y
Цитата Сообщение от Van111 Посмотреть сообщение
int pram::move(int a,int b) { this->a+=a; this->b=+b; this->x+=a; this->y=+b; }
вместо this->a можно pram.a
левый верхний
C++
1
2
this->a+=a;    
this->b=+b;
правый нижний
C++
1
2
this->x+=a;    
this->y=+b;
Dan299
1 / 1 / 0
Регистрация: 17.09.2011
Сообщений: 39
12.11.2011, 19:16  [ТС]     Конструктор классы #8
Van111, Я уже пробовал сдать прогу, построенную подобным образом. Препод хочет чтобы я инициализировал параметры через конструктор.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,587
Записей в блоге: 12
12.11.2011, 19:24     Конструктор классы #9
Цитата Сообщение от Dan299 Посмотреть сообщение
Van111, Я уже пробовал сдать прогу, построенную подобным образом. Препод хочет чтобы я инициализировал параметры через конструктор.
Цитата Сообщение от Van111 Посмотреть сообщение
inline pram(int a,int b,int x,int y){};
это и есть конструктор
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2011, 20:08     Конструктор классы
Еще ссылки по теме:

Классы, конструктор, дружественная функция - C++
Условие программы Описать структуру Комплексное число , и написать функцию, которая возводит это число в квадрат Я написал рабочую...

Конструктор и деструктор, наследуемые классы - C++
Добрый вечер! #include &lt;iostream&gt; using namespace std; class A{ int i,j; public: A(int n,int m){i=n;...

Конструктор при наследовании (классы) - C++
Не могу понять, в чем ошибка, точнее она в конструкторе производного класса... #include &lt;iostream&gt; using namespace std; class...

Классы и конструктор по умолчанию/с параметрами - C++
Помогите пожалуйста! Необходимо сконструировать класс с заданным набором свойств. В данном случае, касс содержит следующие поля: продукт,...


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

Или воспользуйтесь поиском по форуму:
Dan299
1 / 1 / 0
Регистрация: 17.09.2011
Сообщений: 39
12.11.2011, 20:08  [ТС]     Конструктор классы #10
Аа, блин. move это функция перемещения?

Добавлено через 41 минуту
Спасибо вам! Всё работает) Надеюсь хоть теперь с 4го раза сдам))
Yandex
Объявления
12.11.2011, 20:08     Конструктор классы
Ответ Создать тему
Опции темы

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