template<typename Type> class ListNode{
private:
Type nodeData;
ListNode *nextNode;
friend class SingleList<Type>;
ListNode():nextNode(NULL){}
ListNode(const Type item,ListNode<Type> *next=NULL):nodeData(item),nextNode(next){}
~ListNode(){
nextNode=NULL;
}
public:
Type GetData();
friend ostream& operator<< <Type>(ostream& ,ListNode<Type>&);
};
template<typename Type> Type ListNode<Type>::GetData(){
return this->nodeData;
}
//here, compiler said 'nodeData is a private member of ListNode<int>'
Компилятор сказал: «nodeData является частным членом ListNode»как получить приватную переменную в C++
как я могу получить приватную переменную?
или любые функции get/set в C++, такие как Java?
«Здесь» означает функцию GetData, возвращающую this-> nodeData; или в пробелы после закрывающей скобки? – doctorlove
@doctorlove здесь, означает функцию GetData at, return this-> nodeData – tonysok
Что делать, если вы переместите определение GetData внутри шаблона? т. е. введите GetData() {return nodeData; }; –