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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2010, 14:31   #1
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию Не работает virtual

Вот написал пробный код, он не срабатывает:
Код:
#include <iostream>
using namespace std;

class A{
public:
virtual int c();
	int a;
	
	
};

class B:public A{
public:
	int c() {return 4;}
};



int main()
{
	setlocale(0,"");
	cout<<"Привет Ромео!";
	B *ob = new B;
	ob->c();
	cin.get();
}
Syltan вне форума Ответить с цитированием
Старый 14.06.2010, 14:36   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

cout<<ob->c(); забыл
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.06.2010, 15:03   #3
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию

Попробовал написать ещё такой код, о нне срабатывает.
Код:
#include <iostream>
using namespace std;

class A{
	
public: 
virtual int c()=0;
	int a;
	void sad() {cout<<"Hello Russia";}
};

class B:public A{
	
public: 
	int c() {return 4;}
void sad() {cout<<"Hello!";}
};

int main()
{
	setlocale(0,"");
	B *ob = new B;
	cout<<ob->c()<<endl;
	ob->sad();
	A * ob10 = new A;
	ob10->sad();
	cin.get();
}
Syltan вне форума Ответить с цитированием
Старый 14.06.2010, 15:19   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
A * ob10 = new A;
Абстрактные классы нельзя использовать для создания обьектов (по-моему)
Поэтому убери эту строку и получишь на экране ответ
Цитата:
4
Hello!
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.06.2010, 16:44   #5
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Цитата:
Абстрактные классы нельзя использовать для создания обьектов (по-моему)
Совершенно верно - нельзя.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Virtual TreeView Шульц Общие вопросы Delphi 3 25.10.2009 09:48
Virtual Treeview iLya84a Компоненты Delphi 3 01.08.2008 12:49
Virtual Shell Tools Mitron Компоненты Delphi 0 16.02.2008 20:21
Virtual machines Elm0 Свободное общение 0 03.02.2008 21:06
Virtual Bus RoadTrain Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 17.09.2007 01:48