`Node :: Node(int,std :: string,std :: string,std :: string,float)'的多重定义

时间:2017-11-07 09:38:17

标签: c++

这是我的Node.h文件

#ifndef NODE_H_INCLUDED
#define NODE_H_INCLUDED

using namespace std;

class Node
{
    private:
        int rollNumber;
        string FName; // first name
        string LName; // last name
        string Batch;
        float gpa;

        int height; // height of node
        int balanceFactor;

        Node * lc; // left child
        Node * rc; // right child

    public:
        // constructor
        Node(int in_rollNum, string in_fn, string in_ln, string in_batch, float in_gpa);
};

#endif // NODE_H_INCLUDED

这是我的Node.cpp文件

#include<iostream>
#include "Node.h"

// constructor definition
Node::Node(int in_rollNum, string in_fn, string in_ln, string in_batch, float in_gpa)
{
    rollNumber = in_rollNum;
    FName = in_fn;
    LName = in_ln;
    Batch = in_batch;
    gpa = in_gpa;

    height = 0;
    balanceFactor = 0;

    lc = NULL;
    rc = NULL;
}

我收到Node构造函数的多重定义错误,请指出错误或更正错误。我想分别使用标题和.cpp文件,这就是我这样做的原因,我知道如何在同一个文件中执行此操作。但是,我想单独宣布和实施。

0 个答案:

没有答案