C++ 如何将array.h、array.cpp和main.cpp文件组合在一起?
如何将array.h、array.cpp和main.cpp文件组合在一起?编译main.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
#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”