Я должен создать шаблонный класс для назначения, но я получаю много разных ошибок, которые я не совсем понимаю, может кто-нибудь помочь мне? Я приложил файлы 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
Шаблон класса называется Initialisedchecker
не item
, И вам нужно вызвать функцию-член на объекте. Тебе нужно:
int main()
{
Initialisedchecker <int> x;
x.displayItem();
// this is strange: x = 5;
// maybe use:
// x.setItem( 5 );
x.displayItem();
}