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

时间:2016-12-30 07:20:47

标签: 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:

#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'

1 个答案:

答案 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'