在另一个类中使用类对象

Dia*_*nte 0 c++ class nodes binary-search-tree

节点类

作为树实现的一部分,您应该实现一个 Node 类。每个节点都应该包含一个 Customer 对象、指向左右子节点和(可选)父节点的指针。

所以,目前我有一个客户类,这样:

class Customer {
public:
    Customer(void);
    Customer(string,char,int);
};
Run Code Online (Sandbox Code Playgroud)

在我的节点类中,如何在链接两个文件时创建客户对象?

我是否只在我的节点头文件中包含以下内容?

#include "Customer.h"

class Node {
public:

    //Customer class
    class Customer {
    public:
        Customer(void);
        Customer(string,char,int);
    }

Node(void); //default constructor
Node(string,char,int); //Node constructor with customer details

Node* left;
Node* right;
Node* parent;

};
Run Code Online (Sandbox Code Playgroud)

在 node.cpp 文件中将值传递给节点:

//Constructor
Node::Node(string x, char y, int z) {

        lastName = x;       
        firstInitial = y;   
        balance = z;        
}
Run Code Online (Sandbox Code Playgroud)

如何将客户对象的值传递给节点构造?

R S*_*ahu 5

我是否只在我的节点头文件中包含以下内容?

不,您只需使用Customerin类型的对象Node

#include "Customer.h"

class Node {
   public:

      Node(void); //default constructor
      Node(string,char,int); //Node constructor with customer details

      Node* left;
      Node* right;
      Node* parent;
      Customer customer;
};
Run Code Online (Sandbox Code Playgroud)

将构造函数实现为:

Node::Node() : left(nullptr),
               right(nullptr),
               parent(nullptr),
               customer() {}

Node::Node(string x, char y, int z) : left(nullptr),
                                      right(nullptr),
                                      parent(nullptr),
                                      customer(x, y, z) {}
Run Code Online (Sandbox Code Playgroud)