eastking 发表于 2004-4-11 15:53:48

大家帮忙看看这个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();

}

freepu 发表于 2004-4-12 01:34:22

回复: 大家帮忙看看这个C++,问题出在哪里??

将你的string类定义用如下
namespace mystring{}定义命名空间,在主程序使用string时这样mystring::string tt(sm);另外成员函数定义没有返回值最好用void作为返回值类型。

tonyshine 发表于 2004-4-13 10:12:02

页: [1]
查看完整版本: 大家帮忙看看这个C++,问题出在哪里??