fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5.  
  6. template <typename T>
  7. class node {
  8.  
  9. public:
  10. node(T value); //constructor
  11. node(const node &); //copy constructor
  12. void setFrequency(int num); //sets the frequency
  13. int getFrequency(); //returns the frequency
  14. T getItem(); //returns the item
  15.  
  16. private:
  17. T item;
  18. int frequency;
  19. node<T>* leftChild;
  20. node<T>* rightChild;
  21. bool leftChildThread;
  22. bool rightChildThread;
  23. };
  24.  
  25. //-------------------------- Constructor ------------------------------------
  26. template <typename T>
  27. node<T>::node(T value) {
  28. item = value;
  29. frequency = 1;
  30.  
  31. }
  32.  
  33. //-------------------------- Copy ------------------------------------
  34. template <typename T>
  35. node<T>::node(const node<T> &copyThis) {
  36. item = copyThis.value;
  37. frequency = copyThis.frequency;
  38. }
  39.  
  40. //-------------------------- setFrequency ------------------------------------
  41. template <typename T>
  42. void node<T>::setFrequency(int num) {
  43. frequency = num;
  44. }
  45.  
  46. //-------------------------- getFrequency ------------------------------------
  47. template <typename T>
  48. int node<T>::getFrequency() {
  49. return frequency;
  50. }
  51.  
  52. //-------------------------- getItem ------------------------------------
  53. template <typename T>
  54. T node<T>::getItem() {
  55. return item;
  56. }
  57.  
  58.  
  59. int main()
  60. {
  61. node<int> ni(42);
  62. int i = ni.getItem();
  63. cout << i << endl;
  64. return 0;
  65. }
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
42