如何将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;
}
}
错误消息:无效使用'class Array'
答案 0 :(得分:1)
您遇到的问题是您试图在该类的实例上调用类的构造函数:
Array a;
a.Array();
当您声明一个与类同名的函数时,您将为该类创建一个构造函数。
class Array
{
public:
// Default constructor
Array();
// This is a function you can call
void PrintData();
}
你不能调用这个功能。当您创建类Array
的对象时会自动调用它:
Array a; // This will call Array's constructor
a.PrintData(); // This will call the function PrintData on the object 'a'