Вопросы по теме 'name-hiding'

Путаница в отношении сокрытия имен и виртуальных функций
Ссылаясь на другой вопрос Рассмотрим код: class Base { public: virtual void gogo(int a){ printf(" Base :: gogo (int) \n"); }; virtual void gogo(int* a){ printf(" Base :: gogo (int*) \n"); }; }; class Derived...
2828 просмотров
schedule 25.04.2024

Путаница с виртуальными функциями и производными классами
Я пытаюсь понять следующий фрагмент кода: #include<iostream> using namespace std; class Base { public: virtual void f(float) { cout << "Base::f(float)\n"; } }; class Derived : public Base { public: virtual void...
1594 просмотров
schedule 19.04.2023

Почему компилятор С++ (VS2013) выбирает неправильную функцию?
Первый случай #include <iostream> class A { public: virtual void Write(int i) { std::wcout << L"Write(int) is called" << std::endl; } virtual void Write(wchar_t c) { std::wcout <<...
96 просмотров

С++ с использованием объявления для пакета параметров
Я хотел бы определить класс, который наследуется от группы классов, но не скрывает некоторые конкретные методы этих классов. Представьте себе следующий код: template<typename... Bases> class SomeClass : public Bases... { public: using...
390 просмотров

Функция Variadic Overloading и SFINAE — устранение неоднозначности для имитации скрытия по подписи
Я хотел бы скрыть по подписи, а не по имени в С++. Поэтому я написал макрос, который определяет функцию с переменным числом аргументов, которая делегирует все вызовы своему базовому классу, если они существуют. Я не могу использовать объявление...
120 просмотров