Вопросы по теме 'using-declaration'
С++ с использованием объявления с именем типа в конструкторах наследования
Читая этот вопрос , я обнаружил странный момент:
template <typename T>
class Subclass : public Baseclass<T>
{
public:
using typename Baseclass<T>::Baseclass;
// ^^^^^^^^
};
Поскольку typename ,...
1321 просмотров
schedule
05.11.2023
Использование повторного объявления в области блока
Вот код, который вызывает ошибку времени компиляции:
#include <iostream>
int a;
void f()
{
using ::a;
using ::a; //'a' is already declared in this scope.
}
int main(){ }
ДЕМО
Стандарт говорит ( N4296::7.3.3/10...
34 просмотров
schedule
11.08.2022
Как работает поиск неквалифицированного имени при использовании объявлений использования?
Это неправильно или правильно сформировано в соответствии со стандартом С++?
namespace M { struct i {}; }
namespace N { static int i = 1; }
using M::i;
using N::i;
int main() { sizeof (i); }
Clang отклоняет его, а GCC принимает.
Согласно...
633 просмотров
schedule
16.08.2022
Переопределить общедоступную виртуальную функцию частной базовой функцией?
Рассмотрим два класса A и B со следующим интерфейсом:
class A {
public:
virtual void start() {} //default implementation does nothing
};
class B {
public:
void start() {/*do some stuff*/}
};
а затем третий класс, который...
516 просмотров
schedule
15.02.2023
Использование объявления в качестве переопределения
У нас есть следующий простой (и немного измененный, чтобы добавить main и вывод) пример в стандарте:
struct A {
virtual void f()
{
cout << "A\n";
}
};
struct B : virtual A {
virtual void f()
{
cout...
565 просмотров
schedule
23.03.2023
Применение ключевого слова с использованием чистой виртуальной функции С++
Класс B переопределяет чистую виртуальную функцию "print()" класса A. Класс C наследует класс B, а также имеет оператор "using A::print". Теперь, почему класс C не является абстрактным классом?
class A {
public :
virtual void print()...
982 просмотров
schedule
12.12.2022