X0
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 8
1

При вызове функции Sides () которая по сути должна менять переменные члены класса — ничего не происходит

28.07.2014, 17:06. Показов 838. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет! Такой вопрос, в листинге объявлен класс Rect и определен объект theRect. При вызове функции Sides() которая по сути должна менять переменные члены класса - ничего не происходит, остаются данные введенные через конструктор, если же просто скопировать содержимое тела функции Sides() в main - все работает. В чем проблема?

Заранее спасибо!


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 <iostream>
#include <conio.h>
using namespace std;
 
 
class Rect
{
public:
   Rect (int Height,int Width);
   ~Rect();
 
   int GetHeight() const;
   int GetWidth() const;
   void SetSides(int x, int y);
 
private:
 int itsHeight;
 int itsWidth;
 
};
 
Rect :: Rect (int Height, int Width)
{
    itsHeight = Height;
    itsWidth = Width;
}
 
Rect :: ~Rect()
{
}
 
int Rect :: GetHeight() const
{
    return itsHeight;
}
 
int Rect :: GetWidth() const
{
    return itsWidth;
}
 
void Rect :: SetSides(int x, int y)
{
    itsHeight = x;
    itsWidth = y;
}
 
 
void Sides(Rect);
 
 
int main()
{
    Rect TheRect(0,0);
 
    Sides(TheRect);
 
    int a, b;
    a = TheRect.GetHeight();
    b = TheRect.GetWidth();
    
    cout << a << " " << b << endl; 
 
    _getch();
    return 0;
}
 
void Sides(Rect TheRect)
{
    int newX, newY;
    cout << "Enter new height: " << endl;
    cin >> newX;
    cout << "Enter new width: " << endl;
    cin >> newY;
    
    TheRect.SetSides(newX, newY);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.07.2014, 17:06
Ответы с готовыми решениями:

Рандом - при вызове функции ничего не происходит
почему при вызове функции ничего не происходит &lt;script&gt; function ry(){ m = parseInt(0); n...

При вызове функции из другой формы ничего не происходит
Здравствуйте! Столкнулся с такой проблемой - при вызове функции из другой формы ничего не...

Форма, которая при вызове с разных кнопок, должна скрывать некоторые поля
Всем доброго времени суток! У меня есть одна форма, которая при вызове с разных кнопок, должна...

класс «Строка» (данные-члены класса – строчка, функции-члены класса – операции)
Помогите пожалйуста с реализацией программы... Реализовать класс «Строка» (данные-члены класса –...

3
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
28.07.2014, 17:12 2
X0, По ссылке TheRect должен передаваться, иначе это копия.
1
63 / 64 / 11
Регистрация: 27.02.2013
Сообщений: 1,116
28.07.2014, 17:23 3
если что существует стандартная структура RECT
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
28.07.2014, 17:26 4
GetHelp, Она не является стандартной, это виндовская структура, к стандарту языка С++ не имеющая никакого отношения.
0
28.07.2014, 17:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.07.2014, 17:26
Помогаю со студенческими работами здесь

Переменные передаваемые при вызове функции
Не умею передавать значения переменных при вызове функции, кто бы смог подсказать как передать...

Переменные передаваемые при вызове функции
Не умею передавать значения переменных при вызове функции, кто бы смог подсказать как передать...

Задать переменные функции при её вызове
Добрый вечер! Использую следующую функцию, которая просто записана в ячейках как формула: ...

Почему при вызове функции она возвращает 4 значения, если должна возвращать 2
Добрый день. Столкнулся с такой проблемой. Почему при вызове функции она возвращает 4 значения,...

Необработанное исключение при вызове функции-члена класса
Добрый день! Изучаю основы c++ по Страуструпу и при решении одной задачи столкнулся с проблемой....

Обрыв функции при вызове метода из объекта другого класса
Почему выполнение функция обрывается на вызове метода из объекта другого класса? DataBuffer.cpp...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru