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

Передача функции заранее неизвестного объекта - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вставка нового столбца в двумерном массиве http://www.cyberforum.ru/cpp-beginners/thread1040488.html
Вставить новый столбец после столбца, в котором нет ни одного отрицательного элемента.
C++ Умножение целочисленных прямоугольных матриц #include <iostream> #include <stdlib.h> #include <time.h> #include <cmath> #include <math.h> using namespace std; void tselyi1(int **mas, int const n,int const m); void tselyi2(int **mas,... http://www.cyberforum.ru/cpp-beginners/thread1040473.html
C++ подскажите новичку добрые друзья(
всем ПРИВЕТ =) ребята хотел у вас спросить, с чего надо начинать, что бы понимать программировании, проста с задачам который мне надо было решать )здесь помогли, но хочу понять ) как надо правильно...
Двумерный массив C++
прошу растолковать, впереди сессия, очень нужно!!
C++ Не могу понять условие http://www.cyberforum.ru/cpp-beginners/thread1040465.html
Здравствуйте! Помогите мне понять задание: Разработать программу для решения эллиптического уравнения Uxx+Uyy=0, используя метод прогонки по строкам, для следующих условий: x (0, 10), y (0, 10);...
C++ Методы делениние отрезка пополам, золотое сечение, модифицированное сканирование Уважаемые товарищи умники. Дело в том, что перевёлся на специальность ИВТ. Сдаю разницу экзаменов в том числе и ПЯВУ. Уже сделал 7 задач, но вот конкретно эта не получается и вобще не знаю даже... подробнее

Показать сообщение отдельно
Sublimee
7 / 7 / 0
Регистрация: 14.11.2012
Сообщений: 73

Передача функции заранее неизвестного объекта - C++

13.12.2013, 21:59. Просмотров 404. Ответов 5
Метки (Все метки)

Здравствуйте. Можно ли не используя шаблонов передать функции объект заранее неизвестного класса и применить к нему функцию-член?

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
#include <iostream>
#include "Cat.h"
#include "Dog.h"
using namespace std;
 
void makeItVoice( /* указатель на экземпляр заранее неизвестного класса */)
{
    /* указатель на экземпляр заранее неизвестного класса */.voice();
}
 
int main( void )
{
    Cat Frisky;
    Dog Chappi;
    try // проверяем, возможен ли вызов функции voice
    {
        makeItVoice( /* Frisky или Chappi */ );
    }
    catch
    {
    /* Обработка ошибки */
    }
    return 0;
}
C++
1
2
3
4
5
6
#include <iostream>
 
class Cat
{
    void voice() const { std::cout << "Meow" << std::endl; }
};
C++
1
2
3
4
5
6
#include <iostream>
 
class Dog
{
    void voice() const { std::cout << "Woof" << std::endl; }
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.