Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2015, 12:38   #31
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

а это что

Код:
figure *pfigure1 = new round;

pfigure1->area(); //вычисление площади круга
метод area(); виртуальный само собой.

Последний раз редактировалось RAFA91; 05.08.2015 в 12:40.
RAFA91 вне форума Ответить с цитированием
Старый 05.08.2015, 12:41   #32
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
а это что

Код:
figure *pfigure1 = new round;

pfigure1->area(); //вычисление площади круга
метод area(); виртуальный само собой.
Это бред, к явлению полиморфизма отношения не имеющий. У меня ощущение складывается, что вы ни книги читать не хотите, ни то, что вам пишут. Либо просто стебётесь.
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!

Последний раз редактировалось crazy horse; 05.08.2015 в 12:45.
crazy horse вне форума Ответить с цитированием
Старый 05.08.2015, 12:48   #33
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Цитата:
Сообщение от crazy horse Посмотреть сообщение
Это бред, к явлению полиморфизма отношения не имеющий. У меня ощущение складывается, что вы ни книги читать не хотите, ни то, что вам пишут. Либо просто стебётесь.
почему вам нжно все разжевывать , что я хочу сделать и что сделал на этом примере?
RAFA91 вне форума Ответить с цитированием
Старый 05.08.2015, 12:54   #34
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
почему вам нжно все разжевывать , что я хочу сделать и что сделал на этом примере?
Потому что то, что вы ничего, кроме нерабочего кода, не сделали. Непонятно зачем, причем.
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
crazy horse вне форума Ответить с цитированием
Старый 05.08.2015, 13:00   #35
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

ты смотри. рабочий ))

или тут тоже нету ни полиморфизма, ни наследования, ни абстракции ?

почему вам все надо в подробном виде ?

неужели сложно самому догадатся , раз считаете себя асом в с++.

Код:
#include <stdio.h>

class figure

{
	public:
	 figure() {}
	 virtual ~figure() {}
	 virtual void area() const = 0;
};
	

class round : public figure

{
	public:
	round() {}
	~round() {}
	 void area() const {printf("\n+++++++++++++\n");}
};


class square : public figure

{
	public:
	square() {}
	~square() {}
	 void area() const {printf("\n!!!!!!!!!!!!!!\n");}
};
	

int main()

{

figure *pfigure1 = new round;

pfigure1->area(); //вычисление площади круга

figure *pfigure2 = new square;

pfigure2->area(); //вычисление площади квадрата

figure *pfigure3 = pfigure1;

pfigure1 = pfigure2;

pfigure2 = pfigure3;

pfigure1->area(); //вычисление площади квадрата

pfigure2->area(); //вычисление площади кр

delete pfigure1;

delete pfigure2;

return 0;

}

http://ideone.com/v5fBsJ
RAFA91 вне форума Ответить с цитированием
Старый 05.08.2015, 13:05   #36
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

Откомпилируйте это и используйте в рабочих проектах, что я вам могу еще посоветовать. И на собеседованиях не забывайте это показывать, когда про полиморфизм спрашивать будут. Спорить у меня нет ни времени, ни желания.
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
crazy horse вне форума Ответить с цитированием
Старый 05.08.2015, 13:16   #37
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Цитата:
Сообщение от crazy horse Посмотреть сообщение
Откомпилируйте это и используйте в рабочих проектах,.
причем тут рабочий проект?

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

проект уж как-то буду подстраиваться.исходя из приобретенных знаний

с помощью этой книги http://e-libra.ru/read/223302-osvoj-...a-21-den..html

_____________________

может кому-то это и понравится

+++++++++++++

!!!!!!!!!!!!!!

!!!!!!!!!!!!!!

+++++++++++++
RAFA91 вне форума Ответить с цитированием
Старый 05.08.2015, 15:06   #38
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

в догоночку созрел такой вопрос.

при выполнении
Код:
pfigure1 = pfigure2;

pfigure2 = pfigure3;
Код:
figure *pfigure1 = new round;

figure *pfigure2 = new square;

figure *pfigure3 = pfigure1;
происходит ли перестройка таблицы виртуальных функций ?
RAFA91 вне форума Ответить с цитированием
Старый 05.08.2015, 15:19   #39
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

Таблица виртуальных функций инициализируется строго при создании объекта и больше не меняется.
waleri вне форума Ответить с цитированием
Старый 05.08.2015, 15:30   #40
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

а как тогда обьяснить то , что первоначально было так

Код:
pfigure1->area(); //вычисление площади круга

pfigure2->area(); //вычисление площади квадрата
а после вышеприведенной перегруппировки указателей

Код:
pfigure1->area(); //вычисление площади квадрата

pfigure2->area(); //вычисление площади круга
RAFA91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многоуровневый if/else Bender1000 JavaScript, Ajax 9 04.12.2014 15:48
Многоуровневый нумерованный список Word2010 КарандашТМ Microsoft Office Word 3 13.09.2014 18:29
Многоуровневый список в ворде. NewLamer&Programer Помощь студентам 1 28.06.2013 09:31
многоуровневый комбобокс на основе ExtJS sashonk JavaScript, Ajax 0 02.09.2010 16:58
Многоуровневый заголовок (Delphi) VadEr Помощь студентам 1 02.03.2010 14:54