Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужна помощь новичку, С++ 
:(
    Опции темы
Sergey231
Дата 27.5.2010, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 27.5.2010

Репутация: нет
Всего: нет



Помогите написать программу для создания базового класса «Фигура» и несколько производных от него классов: «Точка», «Квадрат», «Круг» и т.д. Классы должны содержать приватные, защищенные и общедоступные члены данных.

PM MAIL   Вверх
ArniLand
Дата 27.5.2010, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 17.8.2008

Репутация: нет
Всего: нет



Sergey231, почитайте теорию про создания классов и наследование, в этом сложного ничего нет
PM MAIL   Вверх
Sergey231
Дата 27.5.2010, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 27.5.2010

Репутация: нет
Всего: нет



Цитата(Sergey231 @ 27.5.2010,  22:25)
Помогите написать программу для создания базового класса «Фигура» и несколько производных от него классов: «Точка», «Квадрат», «Круг» и т.д. Классы должны содержать приватные, защищенные и общедоступные члены данных.

Если несложно хотя бы напишите для одной из фигур в качестве образца.. спс
PM MAIL   Вверх
toxx
Дата 27.5.2010, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 4
Всего: 13



Sergey231
если писать, то в центр помощи...
PM MAIL   Вверх
djamshud
Дата 27.5.2010, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 4
Всего: 39



Код

class figa{
public:
virtual void draw()const=0;
};

class point:public figa{
protected:
int x,y;
public:
void draw()const{
printf("I'm a point at [%d,%d]\n",this->x,this->y);}
};




--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
Sergey231
Дата 27.5.2010, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 27.5.2010

Репутация: нет
Всего: нет



Цитата(djamshud @ 27.5.2010,  23:03)
Код

class figa{
public:
virtual void draw()const=0;
};

class point:public figa{
protected:
int x,y;
public:
void draw()const{
printf("I'm a point at [%d,%d]\n",this->x,this->y);}
};


Я начал так:
class TShape { // Абстрактная фигура
protected:
  int x1, y1, color;
};

class TPoint : public TShape { // Точка
};

class TCircle : public TShape { // Окружность
protected:
  int r;
};

class TRect : public TShape { // Прямоугольник
protected:
  int x2, y2;
};
А можно коменты по вашей проге, компилятор ругается

D:\cpp\BC\2\shape5.cpp: In member function `virtual void point::draw() const':

D:\cpp\BC\2\shape5.cpp:11: error: `printf' undeclared (first use this function)
D:\cpp\BC\2\shape5.cpp:11: error: (Each undeclared identifier is reported only once for each function it appears in.)

Это сообщение отредактировал(а) Sergey231 - 27.5.2010, 23:13
PM MAIL   Вверх
djamshud
Дата 27.5.2010, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 4
Всего: 39



Код

/*
 * Абстрактный класс "какая-то фигура"
 * Сюда можно добавить защищенное поле цвет, ну и прочие вкусности.
 */
class figa{
public:
virtual void draw()const=0;//чисто виртуальный метод рисования какой-то фигуры.
};

/*
 * Наследник какой-то фигуры.
 * Класс "точка", характеризуется двумя координатами (x и y!).
 */
class point:public figa{
protected:
int x,y;
public:
void draw()const{
printf("I'm a point at [%d,%d]\n",this->x,this->y);}//метод рисования точки. Я ленивый, просто распечатал.
};


Добавлено через 34 секунды
Sergey231,
#include<stdio.h>


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
Sergey231
Дата 27.5.2010, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 27.5.2010

Репутация: нет
Всего: нет



Цитата(djamshud @ 27.5.2010,  23:16)
Код

/*
 * Абстрактный класс "какая-то фигура"
 * Сюда можно добавить защищенное поле цвет, ну и прочие вкусности.
 */
class figa{
public:
virtual void draw()const=0;//чисто виртуальный метод рисования какой-то фигуры.
};

/*
 * Наследник какой-то фигуры.
 * Класс "точка", характеризуется двумя координатами (x и y!).
 */
class point:public figa{
protected:
int x,y;
public:
void draw()const{
printf("I'm a point at [%d,%d]\n",this->x,this->y);}//метод рисования точки. Я ленивый, просто распечатал.
};


Добавлено @ 23:17
Sergey231,
#include<stdio.h>

С этим разобрался, а почему ругается компилятор или вопрос не в тему?
PM MAIL   Вверх
djamshud
Дата 27.5.2010, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 4
Всего: 39



Потому что в начало файла нужно добавить #include<stdio.h>! Восклицательный знак добавлять не надо.

Добавлено через 2 минуты и 6 секунд
И вообще я мог допустить синтаксические ошибки. Синтаксическую правильность кода уж сами как-нибудь потрудитесь организовать.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0839 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.