C++ 如何将array.h、array.cpp和main.cpp文件组合在一起?

C++ 如何将array.h、array.cpp和main.cpp文件组合在一起?,c++,C++,如何将array.h、array.cpp和main.cpp文件组合在一起?编译main.cpp时出错,该类数组未在作用域中声明 main.cpp: #include<iostream> #include "Array.h" #include "Array.cpp" using namespace std; int main(){ Array a; a.Array(); return EXIT_SUCCESS; } Array.h: #ifnde

如何将array.h、array.cpp和main.cpp文件组合在一起?编译main.cpp时出错,该类数组未在作用域中声明

main.cpp:

#include<iostream>


#include "Array.h" 
#include "Array.cpp"


using namespace std;

int main(){
    Array a;
    a.Array();
    return EXIT_SUCCESS;
}

Array.h:

#ifndef ARRAY_H_INCLUDED
#define ARRAY_H_INCLUDED


    class Array{
    private:
        int data;// The value or data stored in the node
        int ArraySize;//Size of array
        int* array;

    public:
        Array();
};
#endif

Array.cpp:
#include <iostream>
#include <cstdlib>
using namespace std;


#include "Array.h" // user defined header file



Array::Array(){ //initialise array
    cout << "Initialising array elements----------------->"<< endl;
    for (int i=0; i < 4; i++){
        //array[i]= 1;
        cout << i << endl;
    }
}
#包括
#包括“Array.h”
#包括“Array.cpp”
使用名称空间std;
int main(){
阵列a;
a、 数组();
返回退出成功;
}
数组.h:
#包含ifndef阵列
#定义包含的数组
类数组{
私人:
int data;//存储在节点中的值或数据
int ArraySize;//数组大小
int*数组;
公众:
数组();
};
#恩迪夫
Array.cpp:
#包括
#包括
使用名称空间std;
#包括“Array.h”//用户定义的头文件
数组::数组(){//初始化数组

cout您遇到的问题是,您试图在该类的实例上调用该类的构造函数:

Array a;
a.Array();
当您声明一个与类同名的函数时,您正在为该类创建一个构造函数

class Array
{
    public:
    // Default constructor
    Array();
    // This is a function you can call
    void PrintData();
}
但是,您不能调用此函数。当您创建类
数组的对象时,会自动调用此函数:

Array a; // This will call Array's constructor
a.PrintData(); // This will call the function PrintData on the object 'a'

这里没有足够的上下文来回答您的问题。您需要在问题中包含一个,但要特别注意最小值。不要将所有代码复制并粘贴到问题中,只复制最小值以再现错误。这可能意味着让array.h声明一个空类
array
,并让main.cpp包含array。h并尝试使用
Array
尝试以下操作:
g++-o main.exe main.cpp Array.cpp
main.cpp应该包括“Array.h”