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

Ваш аккаунт

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

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

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

наследование

1.8K
13 сентября 2006 года
pod
144 / / 05.04.2006
я нащёт наследование такого типа.
не зная знаите или нет иерархию point-circle.
два класса point & circle

point - точка (её координаты)
circle - окружность (координаты центра и радиус)

class point{
public:
point(int xv=0,int yv=0);
void setx(int);
void sety(int);
int getx();
int gety();

private:
int x;
int y;

}


class circle: public point {
public:
circle(int xv,int yx,int rv)
void setradius(int);
private:
int radius;
}

и вчём вопрос:если объявить переменную типа circle значит я обявил окружность.
и можно ли во время следствия програмы изменить её x или y координаты?

int main()
{
circle c(2,2,5);
//можно ли изменить 2 на 5 (например)?
}
2.9K
14 сентября 2006 года
Ation
96 / / 27.07.2004
натурально) В public для circle
void SetXY(itn x,y)
{
this->setx(x);
this->sety(y);
}

int main(void)
{
circle a(...);
...
a.SetXY(12,21);
...
}
2.9K
14 сентября 2006 года
Ation
96 / / 27.07.2004
При наследоавнии производный класс в неявном виде получает, в зависимости от типа наследования, интерфейсы базового класса(так словно ты скопировал в нужную область код)
Только к private ты никак не достучишся. Поэтому проще переписать х,у в protected, и создать единую функцию для изменения данных. В данном случае это оправдано.
547
14 сентября 2006 года
Hydra
488 / / 20.06.2006
а c.setx(5) не работает разве?
1.8K
14 сентября 2006 года
pod
144 / / 05.04.2006
[QUOTE=Ation]натурально) В public для circle
void SetXY(itn x,y)
{
this->setx(x);
this->sety(y);
}

...
}[/QUOTE]

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