大家帮忙看看了,为什么会错?

weixiaoshashou 2009-03-20 09:46:00
#include<iostream>
using namespace std;
template<class T>
class String
{
int size;
T *stringptr;
public:
String(){cout<<"morengouzhaohanshu"<<endl;}
String(int s){size=s>0&&<1000?s:10;stringptr=new T[size];}
~String(){delete [] stringptr;}
void Assing(string *stringptr,char t[]);
int strlength();
};
/*template<class T>
String<T>::String()
{
size=s>0&&<1000?s:10;
stringptr=new T[size];
}*/
template<class T>
void String<T>::Assing(string *stringptr,char t[])//串赋值
{
int i=0;
while(t[i]!='\0')
{
stringptr[i]=t[i];i++;
cout<<stringptr[i];
cout<<endl;
}
stringptr->len=i;
}
template<class T>
int String<T>::strlength()//串长
{
cout<<s.len<<endl;
return s.len;
}
int main()
{
int *ptr;
char t[]={'a','b','c','d'};
String<int>L;//有错哦
L.Assing(ptr,t[4]);
return 0;
}


...全文
100 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sco_field 2009-03-21
  • 打赏
  • 举报
回复
还有 char -> char*
你这函数Assing很强大啊!
Sco_field 2009-03-21
  • 打赏
  • 举报
回复
int* -> string* ?
hust_terry 2009-03-21
  • 打赏
  • 举报
回复
~String(){delete [] stringptr;}

很可能会出现非法操作(调用无输入的构造函数时)
feng4206yu 2009-03-21
  • 打赏
  • 举报
回复
首先是逻辑不是很清楚....其次很多错误...

#include <iostream>
using namespace std;

template <class T>
class String
{
int size;
T *stringptr;
public:
String(){cout <<"morengouzhaohanshu" <<endl;}
String(int s){size = (s>0 && s<1000)?s:10; stringptr=new T[size];}
~String(){delete [] stringptr;}
void Assing(char t[]);
int strlength();
};
/*template <class T>
String <T>::String()
{
size=s>0&& <1000?s:10;
stringptr=new T[size];
}*/
template <class T>
void String <T>::Assing(char t[])//串赋值
{
int i=0;
while(t[i]!='\0')
{
stringptr[i]=t[i];
cout <<stringptr[i];
i++; //这里
cout <<endl;
}
size = i; //这里
}

template <class T>
int String <T>::strlength()//串长
{
cout <<s.len <<endl; //从哪里来的s和len?
return s.len;
}

int main()
{
char t[]={'a','b','c','d','\0'};
String<int> L(5);
L.Assing(t);
return 0;
}
w83694366 2009-03-21
  • 打赏
  • 举报
回复
学习 学习
weixiaoshashou 2009-03-20
  • 打赏
  • 举报
回复
我知道有,但我想这样子做试一下。
weixiaoshashou 2009-03-20
  • 打赏
  • 举报
回复
我知道有,但我想这样子做试一下。
ytzxj 2009-03-20
  • 打赏
  • 举报
回复
STL中有 string的模板,没必要。

64,649

社区成员

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

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