Форум программистов, компьютерный форум CyberForum.ru

Вызов методов с одинаковыми именами для разных классов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как сделать что бы если равно 0 писало ошибку http://www.cyberforum.ru/cpp-beginners/thread1059453.html
Как сделать что бы если равно 0 писало ошибку? Вот я так сделал, это деление... void delenie() { float a = 1, b = 2; cout << "Введите числа а, b (a / b)\n"; cout << "Введите а!\n"; cin >> a; cout << "Введите b!\n"; cin >> b;
C++ Перегрузка конструктора Здравствуйте! написал небольшой код с множественным наследованием. Но возникла проблема, как мне перегрузить конструкторы классов Obsh и Gruz так, чтобы получить параметры из объекта "P" базового класса Plane. (например объявляем Plane P("plane",2000), с name plane и значением power), необходимо, чтобы объект "а" класса Obsh, вместо текста из параметров конструктора (Obsh a("obsh",10,200)),... http://www.cyberforum.ru/cpp-beginners/thread1059452.html
C++ Нужно изменить метод ввода данных - с помощью текстового файла
Всего-лишь нужно изменить способ ввода данных - с помощью текстового файла: 1. Посчитать функцию с заданной точностью: #include "stdafx.h" #include <iomanip> #include <comip.h> #include <conio.h> #include <math.h> #include <iostream>
Вывод строки в файл C++
Есть задача и программный код: Задание: Общая постановка. Пользовательский класс String должен содержать необходимые элементы-данные, которые создаются в динамической области памяти. Конструктор для создания строк: String (…); Деструктор: ~String(); Метод ввода исходной строки: Set(); Метод печати: void print(…); Код методов – вне пространства определения класса....
C++ Найти наибольшую сумму цифр подпоследовательностей, ограниченных отрицательными числами http://www.cyberforum.ru/cpp-beginners/thread1059435.html
Дана последовательность целых чисел, последнее из которых 0. Найти наибольшую сумму цифр подпоследовательностей, ограниченных отрицательными числами.
C++ синхронизации задач с несколькими потоками выполнения Здравствуйте. Мне нужна ваша помощь. Есть задача: Реализовать моделирование «тупика» на примере работы с критическими секциями. Временные параметры модели определяются до начала моделирования (произвольны, но обязательно изменяемы). Провести анализ вероятности тупика, если она равна 1, то обосновать. Вот код программы... подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
28.12.2013, 17:12     Вызов методов с одинаковыми именами для разных классов
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
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
template <typename T>
class Base { // это должен быть абстрактный класс
public:
    Base() {};
    virtual int foo(T) = 0;
    virtual ~Base(){}
};
 
class A : public Base<int> {
public:
    int foo(int) {
        return 1;
    }
};
 
class B : public Base<float> {
public:
    int foo(float) {
        return 2;
    }
};
 
template <typename T>
int func(Base<T> *a, T value) {
    return a->foo(value); // <- вот тут надо вызвать
}
 
int main() {
    Base<int> *a = new A();
    Base<float> *b = new B();
    std::cout << func(a, 10) << std::endl;
    std::cout << func(b, 10.1f) << std::endl;
 
    delete a;
    delete b;
    return 0;
}
Добавлено через 1 минуту
Можно, конечно, и
C++
1
2
std::cout << func(new A(), 10) << std::endl;
std::cout << func(new B(), 10.1f) << std::endl;
Это я только так, чтобы память освободить.
 
Текущее время: 13:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru