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

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

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

Подскажите как воспользоваться функцией. - C++

02.02.2010, 15:31. Просмотров 444. Ответов 5
Метки нет (Все метки)

Здрасте. В книжке Джесс Либерти "Освой самостоятельно С++ за 21 день", 3е издание, на странице 159 есть пример программы работы с классами. Программа рабочая, но в ней есть мне не понятная функция, которая в книжке не описана. В примере программы эта функция не используется, но раз уж она там указана хотелось бы ей воспользоваться. Но я не понимаю как, подскажите плизз...
Как с помощью функции "SetUpperLeft" установить значение X-координате переменной-члену "itsUpperLeft" (не переписывая классы)?
Пример урезанной версии примера(убрал всё лишнее):

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
#include <iostream>
using namespace std;
 
class Point //Хранит координаты x и y
{
    public:
        void SetX(int x) { itsX = x; }
        void SetY(int y) { itsY = y; }
        int GetX() const { return itsX; }
        int GetY() const { return itsY; }
    private:
        int itsX;
        int itsY;
};
 
class Rectangle
{
    public:
        Point GetUpperLeft() const { return itsUpperLeft; }
        
        void SetUpperLeft(Point Location) { itsUpperLeft = Location; }
 
    private:
        Point itsUpperLeft; //Переменная-член
};
 
int main()
{
    Rectangle MyRectangle;
 
    
//    MyRectangle.SetUpperLeft?????;
 
    cout << "Upper Left X Coordinate: ";
    cout << MyRectangle.GetUpperLeft().GetX() << endl;
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2010, 15:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подскажите как воспользоваться функцией. (C++):

Как воспользоваться данной функцией для экспорта ? - C++
int FindModuleByAddr (void *addr, module *lib) { MEMORY_BASIC_INFORMATION mem; VirtualQuery(addr, &amp;mem, sizeof(mem)); ...

какой функцией воспользоваться? - C++
какой функцией могу воспользоваться чтоб скорость компиляции возрасла при выборе 2592000сек, т.е. 1месяц он очень долго думает ...

подскажите как сделать чтобы программа работала и выводила информацию о рейсах которыми можно воспользоваться для прибытия в пункт назначения раньше з - C++
в справочной автовокзала хранится расписание движения автобусов. Для каждого рейса указаны его номер, тип автобуса, пункт назначения, время...

подскажите с функцией - C++
вообщем, пишу программу для работы с матрицами, написал функцию, в которой задается размер,диапазон рандом. чисел и вообще генерируется...

Подскажите пожалуйста с функцией - C++
Хочу создать функцию, что бы она выводили минимум из 4 чисел, но она всегда выводит 1. Подскажите в чем моя ошибка, заранее спасибо. P.S....

Подскажите с функцией kbhit() - C++
Подскажите как сделать что-бы функция kbhit() реагировала на нажатие определенной клавиши, например клавишу &quot;q&quot;. Вот пример код, хочу что...

5
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.02.2010, 16:10 #2
Например так:
C++
1
2
3
4
5
6
int main()
{
Rectangle MyRectangle;
Point MyPoint;
MyPoint.SetX(32);
MyRectangle.SetUpperLeft(MyPoint);
1
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
02.02.2010, 16:15 #3
передай экземпляр класса Point с заданными значениями в GetUpperLeft и усё.
как-то так
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
#include <iostream>
using namespace std;
 
class Point //Хранит координаты x и y
{
public:
    void SetX(int x) { itsX = x; }
    void SetY(int y) { itsY = y; }
    int GetX() const { return itsX; }
    int GetY() const { return itsY; }
private:
    int itsX;
    int itsY;
};
 
class Rectangle
{
public:
    Point GetUpperLeft() const { return itsUpperLeft; }
 
    void SetUpperLeft(Point Location) { itsUpperLeft = Location; }
 
private:
    Point itsUpperLeft; //Переменная-член
};
 
int main()
{
    Rectangle MyRectangle;
    int x=5;
    Point temp;
    temp.SetX(x);
    MyRectangle.SetUpperLeft(temp);
 
 
 
    cout << "Upper Left X Coordinate: ";
    cout << MyRectangle.GetUpperLeft().GetX() << endl;
 
    system("pause");
    return 0;
}
1
AA0005
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 3
02.02.2010, 17:55  [ТС] #4
Спасибо, создать ещё один класс как то не подумал:-D

Добавлено через 14 минут
А какой самый разумный вариант? Такой подойдёт?
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
#include <iostream>
using namespace std;
 
class Point //Хранит координаты x и y
{
public:
        void SetX(int x) { itsX = x; }
        void SetY(int y) { itsY = y; }
        int GetX() const { return itsX; }
        int GetY() const { return itsY; }
private:
        int itsX;
        int itsY;
};
 
class Rectangle
{
public:
        Point GetUpperLeft() const { return itsUpperLeft; }
 
    int SetUpperLeftX(int x) { itsUpperLeft.SetX(x); }
 
private:
        Point itsUpperLeft; //Переменная-член
};
 
int main()
{
        Rectangle MyRectangle;
 
        MyRectangle.SetUpperLeftX(5);
 
        cout << "Upper Left X Coordinate: ";
        cout << MyRectangle.GetUpperLeft().GetX() << endl;
     
        return 0;
}
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.02.2010, 18:07 #5
Почти:
в классе Rectangle функцию
Цитата Сообщение от AA0005 Посмотреть сообщение
int SetUpperLeftX(int x) { itsUpperLeft.SetX(x); }
перепишите так:
void SetUpperLeftX(int x) { itsUpperLeft.SetX(x); }
0
AA0005
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 3
02.02.2010, 18:14  [ТС] #6
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Почти:
в классе Rectangle функцию

перепишите так:
А ну да:-D туплю:-D
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2010, 18:14
Привет! Вот еще темы с ответами:

структуры подскажите с функцией - C++
Ребята умы програмирования подскажите с функцией долбаюсь не могу никак дойти до ума задача такая: Предметная область - бухгалтерия...

Проблемка с функцией gets(). Подскажите - C++
Проблема следующего характера: при первом проходе в цикле(i=0) функция store() работает корректно. При шаге i=1 и дальше строка...

Подскажите с функцией scanf() - C++
Я считываю данные из файла, данные целые числа, написал: while(scanf(&quot;%ld&quot;,&amp;x)) так как не известно когда закончатся данные, но...

Подскажите пожалуйста с функцией - C++
Здравствуйте. Задали создать функцию в которую передается три аргумента. после чего вычисляется две формулы, допусти х=a*b*c и y=(a+b)*c....


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

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

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