Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Рисование с помощью классов ?? хелп!!!

2.1K
06 января 2003 года
Cymoril
16 / / 06.01.2003
Есть основной класс:
class shape {
protected:
float dim1,dim2;
public:
virtual float area()=0;
shape(float d1,float d2) : dim1(d1), dim2(d2) { }
};
как видите, он абстрактный. Внимание, вопрос: а как на его базе написать класс, который бы выполнял:
- динамическое создание объектов, в том числе создание массивов объектов;
- динамическое уничтожение объектов;
- изменение параметров объекта (цвет, размер, координаты и т.п.);
- отображение объектов на экране.
при этом нарисовать мне надо два эллипса с одним центром. Слушаю ваши предложения =)
И никаких шуток про девушек-программмисток и морских свинок, ок?
2.0K
08 января 2003 года
Skolotovich
39 / / 13.12.2002
Цитата:
Originally posted by Cymoril
Есть основной класс:
class shape {
protected:
float dim1,dim2;
public:
virtual float area()=0;
shape(float d1,float d2) : dim1(d1), dim2(d2) { }
};
как видите, он абстрактный. Внимание, вопрос: а как на его базе написать класс, который бы выполнял:
- динамическое создание объектов, в том числе создание массивов объектов;
- динамическое уничтожение объектов;
- изменение параметров объекта (цвет, размер, координаты и т.п.);
- отображение объектов на экране.
при этом нарисовать мне надо два эллипса с одним центром. Слушаю ваши предложения =)
И никаких шуток про девушек-программмисток и морских свинок, ок?



Приветствую

Советую полистать основы ООП, на будущее пригодиться, делается это крайне просто:

по первому пункту -- все крайне банально, это конструктор, притом для создания масива объектов типа shape нужен конструктор по умолчанию:
...
shape():dim1(0.0), dim2(0.0)
{
/*
здесь весь код по твоему желанию
*/
}
...

по второму пункту -- не менее банально это деструктор
...
~shape()
{
/*
уничтожаешь все что динамически создаешь при "жизни" объекта
*/
}
...

по остальным пунктам -- это просто методы, точнее интерфейс класса, что-то вроде
void set_color(int color);
int get_color(void);
и так далее

P.S. С прошедшым и наступившим

3
08 января 2003 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Skolotovich


Приветствую

Советую полистать основы ООП, на будущее пригодиться, делается это крайне просто:

по первому пункту -- все крайне банально, это конструктор, притом для создания масива объектов типа shape нужен конструктор по умолчанию:
...
shape():dim1(0.0), dim2(0.0)
{
/*
здесь весь код по твоему желанию
*/
}
...

по второму пункту -- не менее банально это деструктор
...
~shape()
{
/*
уничтожаешь все что динамически создаешь при "жизни" объекта
*/
}
...

по остальным пунктам -- это просто методы, точнее интерфейс класса, что-то вроде
void set_color(int color);
int get_color(void);
и так далее

P.S. С прошедшым и наступившим



Если человек знает что такое абстрактный класс, то, наверняка, знает, что такое конструктор, деструктор и методы-члены. Так что, думаю, учить этому не стоит.
Видимо, вопрос связан не с ООП, а скорее с ООД?

2.0K
08 января 2003 года
Skolotovich
39 / / 13.12.2002
Цитата:
Originally posted by Green


Если человек знает что такое абстрактный класс, то, наверняка, знает, что такое конструктор, деструктор и методы-члены. Так что, думаю, учить этому не стоит.
Видимо, вопрос связан не с ООП, а скорее с ООД?



Не факт.
А что такое ООД?

3
08 января 2003 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Skolotovich


Не факт.
А что такое ООД?



Объектно Ориентированный Анализ и Проектирование, от англ OOA&D. Как частное - паттерны проектирования.

2.1K
14 января 2003 года
Cymoril
16 / / 06.01.2003
ребята,через несколько часов возникла загвоздка...
на базе shape я создаю свой класс figura, который работает с двумя эллипсами с единым центром.. пока проблема заключается в том, что не знаю.. где именно вставить декларацию void fillellipse(.....), чтобы рисовать потом просто ellipse (...)
за место цппшника.. вот ват тхт =)
хотя куда вставляла до этого и они выводились.. хоть и как-то криво
я счас вообще 1 еррор
2.0K
14 января 2003 года
Skolotovich
39 / / 13.12.2002
Цитата:
Originally posted by Cymoril
ребята,через несколько часов возникла загвоздка...
на базе shape я создаю свой класс figura, который работает с двумя эллипсами с единым центром.. пока проблема заключается в том, что не знаю.. где именно вставить декларацию void fillellipse(.....), чтобы рисовать потом просто ellipse (...)
за место цппшника.. вот ват тхт =)
хотя куда вставляла до этого и они выводились.. хоть и как-то криво
я счас вообще 1 еррор



с прошедшым старым новым всю програмерскую братию

а вам, если хотите серьезно заниматься программированием, я очень настоятельно советую почитать замечательного писатель -- ТОМа СВАНа,
посмотреть литературу по ООП на этом сайте или например на www.infocity.kiev.ua
если несерьезно занимаеться будете -- попросите кого-то пусть вам напишут это программулину

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог