Чистая виртуальная функция DLL - PullRequest
0 голосов
/ 29 мая 2020

Я уже пытался найти это в Интернете, но все еще немного запутался.

Я компилирую dll из c ++ в Visual Stud ios, и у меня есть родительский класс с чисто виртуальным метод. Сам класс вызывается только из dll и не вызывается извне.

#pragma once

#include <string>
class IndicatorBase {
    public:
        IndicatorBase(const char*, int);            // Constructor
        double GetValue();                          // Gets the value from the indicator
    protected:
        const char* symbol;
        int period;
        int handle;                                 // Handle for indicator
        void SetupIndicator();                      // Creates the indicator
        virtual const char* IndicatorName() = 0;            // Returns the Indicator Name
        virtual void IndicatorParams(std::string & buff) = 0;   // Sets the buffer sent in to the parameters
};

Как мне вызвать IndicatorName () или IndicatorParams () из родительской функции при использовании с dll?

Обычной практикой является размещение экспорта и импорта dll во всех моих файлах заголовков?

#ifdef MAKEDLL
#  define EXPORT __declspec(dllexport)
#else
#  define EXPORT __declspec(dllimport)
#endif

Попытка заставить dll распознавать реализацию моей дочерней среды выполнения.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...