首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

//完善程序。补齐代码,使程序能正常运行,该如何处理

2012-05-14 
//完善程序。补齐代码,使程序能正常运行#include iostreamusing namespace stdtemplate typename Tcla

//完善程序。补齐代码,使程序能正常运行
#include <iostream>
using namespace std;
template <typename T> 
class Array{
template<typename T>
friend Array<T>* combine(Array<T>& a1, Array<T>& a2);//友函数,合并a1,a2至新建的对象并返回该对象。
template<typename T>
friend ostream & operator<<(ostream & os,const Array<T> & ary);
public:
Array(int sz): size(sz);//构造函数
Array(const Array& a);//拷贝构造函数
~Array();//析构函数
T& operator[](int i);//返回第i号位置元素
int Length();返回数组中元素个数
private:
T * aryPtr;//指向堆空间的指针
int size;//数组大小
};
//在此之后添加函数定义

int main() {
Array<char> alpha1(26);
for (int i = 0 ; i < alpha1.Length() ; i++)
alpha1[i] = 'A' + i;
cout<<alpha1<<endl;
Array<char> alpha2(26);
for (int i = 0 ; i < alpha2.Length() ; i++)
alpha2[i] = 'a' + i;
cout<<alpha2<<endl;
Array<char>* alpha3 = combine(alpha1, alpha2);
cout<<alpha3<<endl;
delete alpha3;
}


[解决办法]
Array(int sz): size(sz);//构造函数
 同学。你这边构造函数这样写会导致一个静态连接库的编译错误问题 ;编译器内部错误 
你换成Array(int sz){size=sz;}//构造函数
就没有错误了、

[解决办法]
你重载输入输出流之后,endl并没有进行重载,所以换种方式替换一下;还有i的定义范围有些问题、

热点排行