Как правильно наследовать от шаблона класса - C ++ - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь наследовать от шаблона класса, в этом случае карта класса должна наследовать от класса cardType (который является шаблоном) ... Я сделал ошибку, пытаясь наследовать от нормального класса, таким образом, ядовольно запутанно ... Если бы кто-нибудь мог дать какое-либо представление о том, где я делаю свои ошибки, это было бы очень ценно ... Я приложу card.cpp и cardType.cpp.Я искренне благодарен вам за любые советы:)

card.cpp

#include<iostream>
#include "card.h"
#include <string>
#include "cardType.h"
using namespace std;

template<class T> class card : public Card<T> {

};

Card::Card(FaceAnimal _face, FaceBackground _bg) {
    face = _face; 
    bg = _bg;
}

int Card:: getNRows() {
    return 3; 
}

string Card::operator()(int i) {

    string row = "";

    switch (bg) {
    case 0: row = "r"; break;
    case 1: row = "g"; break;
    case 2: row = "p"; break;
    case 3: row = "b"; break;
    case 4: row = "y"; break;
    }
    if (i == 0 || i == 2) {
        row += row;
    }
    else {
        switch (face) {
        case 0: row += "C"; break;
        case 1: row += "P"; break;
        case 2: row += "O"; break;
        case 3: row += "T"; break;
        case 4: row += "W"; break;
        }
    }

    row += row[0];

            return row; 


}

// cardType.cpp
#include "cardType.h"

template <class T>
cardType<T>::cardType(){}
template <class T>
void cardType<T>::SetValue(T obj_i){}

template <class T>
T cardType<T>::Getalue(){return cardT;}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...