gpt4 book ai didi

c++ - 如何在我的主程序 C++ 中使用我自己制作的数组头文件?

转载 作者:行者123 更新时间:2023-11-30 02:57:25 24 4
gpt4 key购买 nike

我已经创建了我自己的头文件,这就是我们被要求这样做的方式,但是我应该在我的主程序中使用什么参数来调用这个头文件并创建一个数组。

我的头文件是这样的:

#ifndef ARRAY_H
#define ARRAY_H

class Array {
public:

Array(int size) : _size(0), _arr(0) {
// Call resize to initialize oneself
resize(size) ;
}

Array(const Array& other) : _size(other._size) {
_arr = new double[other._size] ;

// Copy elements
for (int i=0 ; i<_size ; i++) {
_arr[i] = other._arr[i] ;
}
}

~Array() {
delete[] _arr ;
}

Array& operator=(const Array& other)
{
if (&other==this) return *this ;
if (_size != other._size) {
resize(other._size) ;
}
for (int i=0 ; i<_size ; i++) {
_arr[i] = other._arr[i] ;
}
}

double& operator[](int index) {
return _arr[index] ;
}
const double& operator[](int index) const {
return _arr[index] ;
}

int size() const { return _size ; }

void resize(int newSize) {
// Allocate new array
double* newArr = new double[newSize] ;

// Copy elements
for (int i=0 ; i<_size ; i++) {
newArr[i] = _arr[i] ;
}

// Delete old array and install new one
if (_arr) {
delete[] _arr ;
}
_size = newSize ;
_arr = newArr ;
}

private:
int _size ;
double* _arr ;
} ;

#endif

最佳答案

  1. 不要在 .h 文件中编写方法的实现。在头文件中编写代码时只有少数异常(exception)是合理的,而您的情况不是这样。您应该将实现移动到项目中的 cpp 文件中。仔细阅读:Why have header files and .cpp files in C++?
  2. 如果您想使用.h 文件,只需编写#include "your-h-filename.h"。然后,您将能够使用 .h 文件中定义的类、变量和函数。

您可能想阅读以下内容:http://www.learncpp.com/cpp-tutorial/19-header-files/

关于c++ - 如何在我的主程序 C++ 中使用我自己制作的数组头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14644999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com