Создание шаблона класса в C ++ на XCode

Я должен создать шаблонный класс для назначения, но я получаю много разных ошибок, которые я не совсем понимаю, может кто-нибудь помочь мне? Я приложил файлы cp и header, которые я написал. Я знаю, что это, вероятно, очень просто, но я новичок в этом, спасибо!

#ifndef __Template_example__Initialisedchecker__
#define __Template_example__Initialisedchecker__
#include <stdio.h>
template <class data>
class Initialisedchecker
{
private:
data item;
bool definedOrN;
public:

Initialisedchecker()
{
definedOrN = false;
}

void setItem(const data&)
{
std::cin >> item;
definedOrN = true;
}void displayItem()
{
if (definedOrN)
{
std::cout << item;
}
else
{
std::cout << "error, your item is undefined";
}
}
};
#endif

И это главное:

#include <iostream>
#include "Initialisedchecker.h"using namespace std;
int main()
{
item <int> x;
displayItem();
x = 5;
displayItem();
}

Извините, я забыл добавить ошибки, которые я получаю, заголовочный файл не дает никаких ошибок, но в основном он говорит:

Use of undeclared identifier 'display item'  ,
Use of undeclared identifier 'item'  ,
Use of undeclared identifier 'x'  ,
Expected a '(' for function-style cast or type construction

0

Решение

Шаблон класса называется Initialisedcheckerне item, И вам нужно вызвать функцию-член на объекте. Тебе нужно:

int main()
{
Initialisedchecker <int> x;
x.displayItem();
// this is strange: x = 5;
// maybe use:
// x.setItem( 5 );
x.displayItem();

}
2

Другие решения


По вопросам рекламы [email protected]