Вопросы по теме 'pure-virtual'
C++ Коллекция экземпляров, реализующих чистый виртуальный класс
Я работаю на кроссплатформенном С++, и некоторые классы определены так: (сильно упрощено для этого примера)
class ExampleBase
{
public:
ExampleBase( int blah ) : blah_test(blah) { }
virtual void DoSomething( ) = 0;
private:
int...
894 просмотров
schedule
06.05.2023
Используется виртуальная функция-член, если она не чистая?
C++03 3.2.2 ... Используется объект или неперегруженная функция, если ее имя появляется в потенциально оцениваемом выражении. Виртуальная функция-член используется, если она не чистая ...
А затем в 3.2.3 мы имеем: Каждая программа должна...
415 просмотров
schedule
12.02.2022
C++, бриллиантовое наследование, где/когда нужно реализовать чистые виртуальные машины?
C++: у меня есть базовый класс A с чистой виртуальной функцией f(), а затем два класса B и C виртуально наследуются от A, и класс D, который наследуется как от B, так и от C (типичная ромбовидная структура):
A f() = 0
v/ \v
B C
\ /
D...
582 просмотров
schedule
20.09.2022
Использует ли чистый абстрактный класс С++, объявленный в заголовке, используемом в разных проектах (без привязки времени компиляции), одну и ту же модель виртуальной таблицы?
У меня есть заголовок С++, объявляющий класс, состоящий только из чистых виртуальных методов. У меня есть две библиотеки DLL, использующие этот заголовок (с одной реализацией этого интерфейса), но не связанные во время компиляции. Одна DLL...
280 просмотров
schedule
27.03.2024
С++: используйте чистую виртуальную функцию в невиртуальной функции
Я пытаюсь создать базовый класс, определяющий интерфейсы для всех производных классов.
Я хотел бы иметь функцию, которая позволяет читать файл конфигурации для этого класса, который довольно гладко работает с использованием boost::property_tree ....
436 просмотров
schedule
26.05.2024
Можно ли реализовать абстрактный класс без чистых виртуальных функций в C++?
Я думал об использовании защищенного конструктора , но он не мог полностью решить задачу, поскольку класс, унаследованный от него, мог бы создать экземпляр базового класса.
Что касается приватного конструктора , производные классы также не будут...
4645 просмотров
schedule
19.06.2022
абстрактные классы С++, использующие чистые виртуальные функции в нечистых виртуальных функциях
Я хочу создать абстрактный класс с чистой виртуальной функцией, которая вызывается НЕ чисто виртуальным конструктором. Ниже мой файл class.hpp :
#ifndef __CLASS_HPP__
#define __CLASS_HPP__
#include <iostream>
class Parent {
public:...
1606 просмотров
schedule
07.07.2022
Объявление чистой виртуальной функции в базовом классе с объектом производного класса в качестве аргументов
Заранее извиняюсь, если эта тема уже поднималась и решалась.
Я хотел бы создать базовый класс с чистой виртуальной функцией (абстрактный класс), чтобы при создании производного класса от него пользователь был обязан реализовать тело этой функции в...
2104 просмотров
schedule
28.04.2022
C++: чистый виртуальный деструктор в абстрактном классе с членами
Я только начал изучать С++ и наткнулся на эту проблему. Я написал этот абстрактный класс с чистым виртуальным деструктором:
#ifndef ANIMAL
#define ANIMAL
#include <string>
using namespace std;
class Animal {
public:
Animal();...
1814 просмотров
schedule
01.06.2022
Виртуальные чистые функции
Я понимаю, что чисто виртуальная функция внутри класса делает этот класс абстрактным . Это означает, что я не могу создавать объекты с этим классом и что я должен переопределить эту виртуальную функцию во всех производных классах.
У меня есть...
95 просмотров
schedule
19.09.2023
Как я могу переопределить чисто виртуальный метод, используя частно унаследованный метод?
У меня есть следующее:
class Abstract
{
virtual void AbstractMethod() = 0;
};
class Implementer
{
void AbstractMethod() {};
};
class Concrete : public Abstract, private Implementer
{};
Я не могу создать экземпляр Concrete , потому...
235 просмотров
schedule
06.11.2022
Множественное наследование абстрактных классов с чистыми виртуальными методами с тем же именем?
Если наследовать два абстрактных класса с помощью чисто виртуального метода с тем же именем, что произойдет, если я реализую этот метод? Я реализую их для обоих абстрактных классов или компилятор выбирает один для реализации?...
636 просмотров
schedule
06.05.2023
Есть ли чистая виртуальная функция в стандартной библиотеке С++?
В лекции Николы Гиганте в 2015 году , он упоминает (в начале), что в стандартной библиотеке нет чисто виртуальных функций (или он не знает о них). Я полагаю, что Алекс Степанов был против этой языковой функции, но с момента первоначального...
2178 просмотров
schedule
17.02.2023
boost::python чистый виртуальный базовый класс со статическим конструктором фабрики и std::unique_ptr
Я просмотрел все связанные вопросы, которые смог найти, и не смог найти ответ на эту конкретную ситуацию.
У меня есть чистый виртуальный интерфейс базового класса С++, который я хочу предоставить Python. Реализация наследуется от Base и не...
191 просмотров
schedule
16.01.2023
CRTP вызывает segfault
У меня есть чистый виртуальный класс Interface :
class Interface {
public:
virtual ~Interface() noexcept;
virtual void open()=0;
virtual void close()=0;
protected:
explicit Interface(const string params);
string params_;...
115 просмотров
schedule
30.09.2023
Недопустимый абстрактный тип
Итак, у меня проблема с абстрактным классом!
Это продукт.h
#ifndef PRODUCT_H
#define PRODUCT_H
#include <string>
using namespace std;
class Product
{
private:
string description;
int d,m,y;
float weight;...
4558 просмотров
schedule
10.07.2023
Может ли абстрактный класс иметь конструктор и частный член в С++ 11
Подобные вопросы задают, но они не дают ответа на мой вопрос. Я пытаюсь создать абстрактный класс (с одной чистой виртуальной функцией). Но компилятор выдает эту ошибку:
src/library.cpp:11:24: ошибка: недопустимое приведение к типу...
407 просмотров
schedule
15.05.2023
Как обозначить чистую виртуальную функцию на диаграмме классов UML?
Я студент, изучаю С++. Я создаю диаграмму классов UML для своей программы, которая включает в себя наследование и абстрактные/конкретные классы, но я не слишком уверен, как обозначить чисто виртуальную функцию. Любая помощь приветствуется, спасибо!
14208 просмотров
schedule
09.10.2023
C++, обеспечивающий реализацию чисто виртуального метода из другой иерархии наследования
У меня есть класс Parent и два класса Child :
class Parent
{
};
class Child1: public Parent
{
};
class Child2 : public Parent
{
};
Я хотел бы вторую иерархию классов с классом Cousin наверху иерархии и подклассами, называемыми Cousin1...
70 просмотров
schedule
23.02.2024
Boost-python чистый виртуальный обнаружение отсутствующей реализации
У меня есть класс С++ с чистым виртуальным методом, открытым для python с использованием boost-python. Я вызываю виртуальную функцию из C++ и предполагаю, что виртуальная функция реализована в python. Все работает, если функция реализована, но если...
132 просмотров
schedule
04.03.2024