Как вызвать функцию-член шаблона из учебный класс - PullRequest
0 голосов
/ 28 января 2020

Сначала мой код, лучше задать вопрос с видимым кодом.

template<class T>
class TemplateClass
{
public:
    TemplateClass()
    {
    };
    ~TemplateClass(){};

    T cc{this};

    void tbcFunction(){};
    void otherFunction(){};
};

class CallerClass
{
public:
    CallerClass(TemplateClass<CallerClass>* tc) : templatePointer(tc){};
    ~CallerClass(){};
    TemplateClass<CallerClass>* templatePointer;

    void myFunction()
    {
        templatePointer->tbcFunction();
    };
};
void setup()
{
    TemplateClass<CallerClass> ct;
    ct.otherFunction();
}

Мне нужно вызвать функцию из TemplateClass из кода в CallerClass.

Один из способов добиться этого должен предоставить "this" из TemplateClass в CallerClass при создании экземпляра. Это решение, которое я сделал выше, передав его в конструкторе.

Есть ли какие-либо негативные эффекты при этом?

Существуют ли другие / лучшие / более элегантные решения для этого?

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