C ++ Какой правильный синтаксис при использовании динамического связывания и чистого виртуального класса?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 C ++ Какой правильный синтаксис при использовании динамического связывания и чистого виртуального класса?

Сообщение Anonymous »

При компиляции кода C ++ ниже я получаю следующее сообщение об ошибке: < /p>

»« Неверная новая экспрессия абстрактного класса типа 'trainerclass », потому что функция« виртуальная void trainerclass :: AddItems () »является чистым в рамках« TrainerClass ». Количество тренера (int nbrtainer = 2;). В этом примере должны быть созданы объекты «материал»: материал [0] и материал [1] (указатели на класс «TrainerClass»). Затем то, что находится внутри каждого объекта «материал», следует определить, указывая класс «Бэгклас» на объекты «материал». < /p>

Сложность здесь заключается в том, что класс «TrainerClass» включает в себя чистую виртуальную функцию, которая предотвращает инициализацию объектов класса, как обычно. < /p>

Какой правильный синтаксис для инициализации объектов, полученных из виртуального класса с использованием концепции динамического связывания? (Все объекты должны быть названы «материал [x]» с индексом) < /p>

#include
using namespace std;

#define Training // to declare the global variable

///Definition of class Pocket
class pocket
{
public:
double volume;
};

///Definition of virtual class TrainerClass
class TrainerClass
{
public:
pocket *Space;
virtual void AddItems()=0;
};

///Definition of derived class
class BagClass: public TrainerClass
{
public:
double mass;

BagClass(double m2)
{
mass=m2;
}

void AddItems()
{
cout

Подробнее здесь: https://stackoverflow.com/questions/405 ... tual-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»