Форум программистов, компьютерный форум, киберфорум
Наши страницы

Виртуальность и наследование - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разработка приложения. Определить иерархию устройств http://www.cyberforum.ru/cpp-beginners/thread947641.html
Здравствуйте. Мне нужна помощь. Прислали задание, а сам смысл задания я понять не могу. Задание: определить иерархию устройств: телефонов, планшетов, ридеров и пр. устройств. Экипировать отдел...
C++ "выполнить" + консольное приложение Пишу в окошке "выполнить" путь к приложению + параметр рядом. напр. C:\\game.exe speedhack Нужно чтобы этот параметр считывался приложением. Возможно ли? http://www.cyberforum.ru/cpp-beginners/thread947631.html
C++ Генератор случайных чисел
Здорова господа! Нужно написать свой собственный генератор случайных чисел, такой же примерно как rand. От примерно написал кое что, с книги код выдрал, это нормальное распределение случайных...
Немогу разобратся с идентификатором C++
Доброе время суток! В общем создал Win32 проект (dll библиотеки, с использованием MFC). Добавил код (.cpp , .h файлы) User.h #pragma once...
C++ Прекращена работа программы proj.exe http://www.cyberforum.ru/cpp-beginners/thread947537.html
Доброго времени суток всем. У меня возникла неприятная проблемка. Я написал программу(даже не всю а только часть) которая, в последствии, будет что-то вроде морского боя на консоле. В процессе...
C++ Уже 2 года не могу установить c++ Ребят нужно работать на 2010 версии, но при установке на этапе VC 9.0 во всех версиях возникает или ошибка или до бесконечности зависает установка, мне пришла в голову мысль - можно установить на... подробнее

Показать сообщение отдельно
Kaskera
0 / 0 / 0
Регистрация: 27.07.2013
Сообщений: 34
03.09.2013, 13:48  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
http://ideone.com/CisVko

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
 
class Super {
    public: virtual void print() const {
        std::cout << __PRETTY_FUNCTION__ << std::endl;
    }
    public: virtual ~Super() {}
};
 
class Sub : public Super {
    public: virtual void print() const {
        std::cout << __PRETTY_FUNCTION__ << std::endl;
    }
};
 
int main() {
    Super *obj = new Sub();
    // how to call 'Super::print()' from 'obj'
    // without using operator '.' and/or '->'?
    
    typedef void (*PFUNC)(void *);    
    PFUNC pFunc = (PFUNC)&Super::print;
    pFunc(obj);
    
    delete obj;
}




Согласен. Просто не знаю другого способа, удовлетворяющего условию задачи.
А про "operator ->*" - это Вы ловко подметили
Да, работает, я тоже проверил. Это MSVS 2008 так ругается. Не подскажете, как исправить?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.