Рисование с помощью классов ?? хелп!!!
class shape {
protected:
float dim1,dim2;
public:
virtual float area()=0;
shape(float d1,float d2) : dim1(d1), dim2(d2) { }
};
как видите, он абстрактный. Внимание, вопрос: а как на его базе написать класс, который бы выполнял:
- динамическое создание объектов, в том числе создание массивов объектов;
- динамическое уничтожение объектов;
- изменение параметров объекта (цвет, размер, координаты и т.п.);
- отображение объектов на экране.
при этом нарисовать мне надо два эллипса с одним центром. Слушаю ваши предложения =)
И никаких шуток про девушек-программмисток и морских свинок, ок?
Есть основной класс:
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. С прошедшым и наступившим
Приветствую
Советую полистать основы ООП, на будущее пригодиться, делается это крайне просто:
по первому пункту -- все крайне банально, это конструктор, притом для создания масива объектов типа shape нужен конструктор по умолчанию:
...
shape():dim1(0.0), dim2(0.0)
{
/*
здесь весь код по твоему желанию
*/
}
...
по второму пункту -- не менее банально это деструктор
...
~shape()
{
/*
уничтожаешь все что динамически создаешь при "жизни" объекта
*/
}
...
по остальным пунктам -- это просто методы, точнее интерфейс класса, что-то вроде
void set_color(int color);
int get_color(void);
и так далее
P.S. С прошедшым и наступившим
Если человек знает что такое абстрактный класс, то, наверняка, знает, что такое конструктор, деструктор и методы-члены. Так что, думаю, учить этому не стоит.
Видимо, вопрос связан не с ООП, а скорее с ООД?
Если человек знает что такое абстрактный класс, то, наверняка, знает, что такое конструктор, деструктор и методы-члены. Так что, думаю, учить этому не стоит.
Видимо, вопрос связан не с ООП, а скорее с ООД?
Не факт.
А что такое ООД?
Не факт.
А что такое ООД?
Объектно Ориентированный Анализ и Проектирование, от англ OOA&D. Как частное - паттерны проектирования.
на базе shape я создаю свой класс figura, который работает с двумя эллипсами с единым центром.. пока проблема заключается в том, что не знаю.. где именно вставить декларацию void fillellipse(.....), чтобы рисовать потом просто ellipse (...)
за место цппшника.. вот ват тхт =)
хотя куда вставляла до этого и они выводились.. хоть и как-то криво
я счас вообще 1 еррор
ребята,через несколько часов возникла загвоздка...
на базе shape я создаю свой класс figura, который работает с двумя эллипсами с единым центром.. пока проблема заключается в том, что не знаю.. где именно вставить декларацию void fillellipse(.....), чтобы рисовать потом просто ellipse (...)
за место цппшника.. вот ват тхт =)
хотя куда вставляла до этого и они выводились.. хоть и как-то криво
я счас вообще 1 еррор
с прошедшым старым новым всю програмерскую братию
а вам, если хотите серьезно заниматься программированием, я очень настоятельно советую почитать замечательного писатель -- ТОМа СВАНа,
посмотреть литературу по ООП на этом сайте или например на www.infocity.kiev.ua
если несерьезно занимаеться будете -- попросите кого-то пусть вам напишут это программулину