PS а зачем это нужно? может выходом будет '' произвести '' нужные классы от виртуального предка?(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено F8 24 ноября 2006 г. 10:05
В ответ на: Извините не дочитал вопрос, если нужно чтоб мог ссылатся на метод ЛЮБОГО класса то логично предположить, что с данными этого класса он работать не будет, тогда объявите этот метод как static(+) отправлено F8 24 ноября 2006 г. 09:38

к примеру


class CBaseClass
{
public:
virtual char f_a(char d)=0;
}

class CA_class : public BaseClass
{
public:
char f_a(char d);//Переопределяем в потомке абстрактный метод предка
}

char CA_class::f_a(char d)
{
.........
}

class CB_class : public BaseClass
{
public:
char f_a(char d);//Переопределяем в потомке абстрактный метод предка
}

char CB_class::f_a(char d)
{
.........
}


CA_class A_class; //Переменная типа CA_class
CB_class B_class; //Переменная типа CB_class

Далее объявляется указатель
CBaseClass *pBaseClass;


pBaseClass = (CBaseClass *)&A_class;
pBaseClass->f_a('T');//Вызываем метод f_a обекта A_class

pBaseClass = (CBaseClass *)&B_class;
pBaseClass->f_a('T');//Вызываем метод f_a обекта B_class


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
URL изображения: 
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 654:


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание