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

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

Войти
Регистрация
Восстановить пароль
 
Ярослав_З
0 / 0 / 0
Регистрация: 01.07.2012
Сообщений: 5
#1

Работа с классами - C++

01.07.2012, 13:41. Просмотров 338. Ответов 3
Метки нет (Все метки)

Здравствуйте, я здесь первый раз, если что извините, за неккоректность, ввода или задания вопроса

Я написал (например):
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
class Figure
{
    bool visible;
protected:
    int color;
    int type, x, y; 
    virtual void draw()=0;
public:
    Figure(int type, int c, int x, int y) : type(type), color(c), x(x), y(y), visible(0) {}
    virtual ~Figure() {};
    void setcolor(int c);
    int getcolor() {return color;} 
    void show(); 
};
 
void Figure :: setcolor(int c)
{
    color=c;
    if(visible) draw(); 
};
 
 
void Figure :: show()
{
    visible = true;
    draw();
};
 
 
class Brick: public Figure
{
protected:
    int  w,h;
    void draw();
public:
    Brick(int type, int c, int x, int y, int w, int h) : Figure(type,c,x,y), w(w), h(h) {}
    ~Brick() {}
};
 
void Brick:: draw()
{
    :: setcolor(getcolor());
    moveto(x,y);
    lineto(x+w,y);
    lineto(x+w,y+h);
    lineto(x,y+h);
    lineto(x,y);
}
и создал динамически массив указателей на объекты:
Figure *A[100];

например пусть:
A[0]= new Brick(1,1,1,1,1,1); //Brick("type" , "цвет" , "х" , "у" , "ширина" , "высота")

Вопрос:
вот я хочу у A[0] получить чему равна type

пытался писать int a = A[0]->type;
но выходила ошибка
если не трудно, не могли бы вы дураку сказать, как получить значения у этого объекта?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2012, 13:41     Работа с классами
Посмотрите здесь:

работа с классами в С++ - C++
Пусть есть class.срр, в котором описан класс MyClass{ public: int i; ... } Есть файл main.cpp, в нем я использую...

Работа с классами - C++
Помогите написать програмку задание следующее: Создать базовый класс «Грузоперевозчик» и производные классы «Самолет», «Поезд»,...

Работа с классами в С++ - C++
Доброго всем дня.У меня возникла проблема с освоением языка C++ , сейчас пишу курсовую на этом языке, и ещё не совсем всё понимаю, но книги...

работа с классами - C++
прошу помощи с лабой, вообще вкурить немогу что и как делать:\ Комплексное число, задаваемое своей вещественной и мнимой...

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

Работа с классами - C++
Помогите плз Определите значение переменных а, х, с после выполнения следующих команд: class First { int value; public: ...

Работа с классами - C++
Привет!!! Есть задачка: "Определите класс Oper, содержащий идентификатор типа ld (string или C-строка) и операцию (указатель на...

Работа с классами - C++
Помогите пожалуйста написать программу. Задан массив действительных чисел. Найти количество элементов, значение которых меньше...

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

Работа с классами - C++
Помогите с задачей, пожалуйста! Условие на фотографии: Перепечатывайте задание на форум.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Root2x
12 / 12 / 0
Регистрация: 21.05.2012
Сообщений: 52
01.07.2012, 13:45     Работа с классами #2
Ярослав_З, у вас type размещен в защищенной области ( protected ), разместите его в области public и все будет в порядке. Более подробную информацию сможете найти здесь:
http://cppforeach.wordpress.com/2008...ess_modifiers/
Ярослав_З
0 / 0 / 0
Регистрация: 01.07.2012
Сообщений: 5
01.07.2012, 13:50  [ТС]     Работа с классами #3
Спасибо огромное вам за помощь!
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
01.07.2012, 14:22     Работа с классами #4
Цитата Сообщение от Root2x Посмотреть сообщение
Ярослав_З, у вас type размещен в защищенной области ( protected ), разместите его в области public и все будет в порядке. Более подробную информацию сможете найти здесь:
http://cppforeach.wordpress.com/2008...ess_modifiers/
А лучше всего сделать метод возвращающий конкретное поле класса. Так думаю будет првильней ,чем public, чтобы осталось сокрытие.
Yandex
Объявления
01.07.2012, 14:22     Работа с классами
Ответ Создать тему
Опции темы

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