Вопросы по теме 'private-inheritance'
Ошибочный частный базовый класс недоступен?
Компиляция этого кода с использованием g++ 4.2.1:
struct S { };
template<typename T> struct ST { };
template<typename BaseType>
class ref_count : private BaseType { };
template<typename RefCountType>
class rep_base : public...
1221 просмотров
schedule
04.04.2023
Почему частное наследование увеличивает вероятность того, что кто-то взломает мой код по сравнению с композицией?
Автор этой статьи утверждает, что
«Обычно вы не хотите иметь доступ к внутренностям слишком многих других классов, и частное наследование дает вам часть этих дополнительных возможностей (и ответственности). это увеличивает вероятность того, что...
167 просмотров
schedule
27.07.2022
Как я могу переопределить чисто виртуальный метод, используя частно унаследованный метод?
У меня есть следующее:
class Abstract
{
virtual void AbstractMethod() = 0;
};
class Implementer
{
void AbstractMethod() {};
};
class Concrete : public Abstract, private Implementer
{};
Я не могу создать экземпляр Concrete , потому...
235 просмотров
schedule
06.11.2022
Конструктор доступен за пределами частного наследуемого типа?
Название — это лишь одна из немногих вещей, которые меня смущают в следующем примере:
struct A {
A() {
std::cout << "Default constructor of A" << std::endl;
}
A(const A &) {
std::cout << "Copy...
53 просмотров
schedule
02.03.2024
Переопределить общедоступную виртуальную функцию частной базовой функцией?
Рассмотрим два класса 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
Как вызвать конструктор копирования всех базовых классов для копирования объекта большинства производных классов при наследовании бриллиантов в С++?
Рассмотрим приведенный ниже код:
#include<iostream>
using namespace std;
class A
{
public:
A() {cout << "1";}
A(const A &obj) {cout << "2";}
};
class B: virtual A
{
public:
B() {cout << "3";}
B(const...
2013 просмотров
schedule
08.03.2022