大家帮忙看看这个C++,问题出在哪里??
#include <iostream>#include <cstdlib>
using namespace std;
class string{
int l;
char *ss;
public:
string(char *);
~string(){
delete []ss;
cout<<"\nString destroyed!\n";
}
transtring();
printstring(){
cout<<"\nString:"<<ss<<endl;
}
};
string::string(char *sm)
{
int n=strlen(sm);
l=n;
cout<<"The longth of the string is:"<<l;
ss=new char ;
if(!ss){
cout<<"Memory Allocation Error!";
exit(1);
}
strcpy(ss,sm);
}
string::transtring()
{
for(int i=0;i<strlen(ss);i++)
{
if(ss>'a'&&ss<'z')
ss=ss+('Z'-'z');
}
}
void main()
{
char sm;
cout<<"\nEnter a string to tran(up to 90 charaters):\n=>";
cin>>sm;
string tt(sm);
tt.transtring();
tt.printstring();
}
回复: 大家帮忙看看这个C++,问题出在哪里??
将你的string类定义用如下namespace mystring{}定义命名空间,在主程序使用string时这样mystring::string tt(sm);另外成员函数定义没有返回值最好用void作为返回值类型。
页:
[1]