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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2021, 15:57   #1
apofioz
Форумчанин
 
Регистрация: 22.01.2014
Сообщений: 313
По умолчанию Виртуальные функции.

Здравствуйте! Есть задача:
Цитата:
Напишите небольшую программу, демонстрирующую различия между вы*зовами виртуальной функции из обычной функции класса и из конструкто*ра. Программа должна показывать, что эти два вызова приводят к разным результатам.
Я написал

Цитата:
Код:
class Foo
{
public:
	Foo()
	{
		//cout << sizeof(this) << endl;
		i = 10;
		vf1();
	}
	virtual void vf1()
	{
		cout << "FOO vf1()" << --i << endl;
	}
	void some_f()
	{
		//cout << sizeof(this) << endl;
		vf1();
	}
protected:
	int i;
};

class Foo1 : public Foo
{
public:
	Foo1()
	{
		Foo::vf1();
		vf1();
		//cout << sizeof(this) << endl;
		
	}
	void vf1()
	{
		cout << "FOO1 vf1()" << endl;
	}
	void some_f()
	{
		//cout << sizeof(this) << endl;
		vf1();
	}
};
Но , видимо, я делаю что-то не так, так как результат должен быть иным, как я понял из контекста прочитанного, да и самом задании требуется показать различия. Что я делаю не так?
apofioz вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Виртуальные функции lixod96 Visual C++ 1 20.11.2014 17:44
виртуальные функции _lev Помощь студентам 0 18.06.2014 17:28
виртуальные функции zla9_kolu4ka Общие вопросы C/C++ 2 09.03.2014 03:19
C++ виртуальные функции iKarma Помощь студентам 2 28.11.2011 10:50
виртуальные функции vanek1 Помощь студентам 1 08.06.2011 17:49