我的意图是按照评论的内容做。如何使用Packet.h类中的public getter成员函数在BST模板类中实现此目标?
BST.cpp :
template <typename T>
void BST<T>::insert(T &p) {
if (root != nullptr) {
}
else {
Node<T> *newNode = new Node<T> (p);
root = newNode;
// What I want to do: cout << root->data.getDescription() << endl;
}
}
其中T&p是联合的Packet对象。
BST.h :
template <typename T>
class Node {
template <typename> friend class BST;
public:
Node(T p) : data(p), rlink(nullptr), llink(nullptr) {}
~Node() {}
private:
T data;
Node *rlink, *llink;
};
Packet.h类:
class Packet {
public:
Packet(int partId, string description, double price, int partCount) :
partId(partId), description(description), price(price), partCount(partCount) {}
int getPartId() const { return partId; }
string getDescription() const { return description; }
double getPrice() const { return price; }
int getPartCount() const { return partCount; }
private:
int partId;
string description;
double price;
int partCount;
};
请帮助,我忘了如何处理这些事情。