实现array.insert()

roov_csdn 2017-09-22 09:50:53
遇到个C++的题目出现点问题,编译不通过。
我没有尝过C++,只会C,所以解决不了,麻烦看一下哪里有问题

题目要求:

我写的代码
source.hpp:
#include "Array.h"

template <typename T>
Array<T> & Array<T>::insert(const Array<T> & array2, int start) {
Array array1;
int i;
for(i=0;i<start;i++)
{
array1[i]=array[i];
}
for(i=start;i<array2.size();i++)
{
array1[i++]=array2[i-start];
}
for(;i<array1.size();i++)
{
array1[i++]=array[i-array2.size()];
}

array.copy(array2, array2.size());

}


其中
Array.h代码如下
#ifndef _ARRAY_H_
#define _ARRAY_H_
template <typename T>
class Array
{
private:
T * array;
int length;

public:
Array() {
array = new T[1];
length = 0;
}

~Array() {
delete [] array;
}

int size() const {
return length;
}

void copy(const T array2[], int length2) {
delete[] array;
length = length2;
array = new T[length];
for (int i = 0; i < length; ++ i) {
array[i] = array2[i];
}
}

Array & operator = (const Array & array2) {
copy(array2.array, array2.length);
}

T & operator [] (int index) const {
return array[index];
}

Array(const Array & array2) {
array = new T[1];
copy(array2.array, array2.length);
}

Array & insert(const Array & array2, int start);
};
#endif


framework.cpp代码如下,里面有main函数
#include "Array.h"
#include "Source.hpp"
#include <iostream>
using namespace std;

istream & operator >> (istream & in, Array<char> & string1) {
char array[100];
cin >> array;
int size = 0;
while (array[size]) ++ size;
string1.copy(array, size);
return in;
}

ostream & operator << (ostream & out, const Array<char> & string1) {
for (int i = 0; i < string1.size(); ++ i) {
out << string1[i];
}
return out;
}

int main() {
Array<char> string1;
Array<char> string2;
cin >> string1 >> string2;
string1.insert(string2, string1.size() / 2);
cout << string1;
}
...全文
126 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧