注册 登录
编程论坛 C++教室

关于指针和数组,急

新生儿宝贝 发布于 2011-05-22 18:49, 495 次点击
设计一个字符串类MyString,具有构造函数,析构函数,拷贝构造函数,重载运算符+,两个字符串相加,两个字符的长度比较,要求用指针和数组做,我之前用类做比较简单,但用指针和数组做怎样都想不出,哪位高手救救我
6 回复
#2
lucky5635912011-05-24 08:11
用函数进行运算不就行了
#3
wangzhao85502011-05-24 09:37
程序代码:
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
class MyString
{
   char *s_sentence ;
   public:
          MyString(char s[]) //构造
          {
             s_sentence=s ;         
          }
          MyString(MyString& p_s)//
          {
             s_sentence=p_s.s_sentence ;               
          }
          char* operator +(MyString& o_s)//运算符+重载
          {
             char *sum=new char ;
             int i=0,j=0;
             while(*(s_sentence+i)!='\0')//先取第一个句子
             {
                 *(sum+i)=*(s_sentence+i) ;
                 i++ ;                    
             }
              while(*(o_s.s_sentence+j)!='\0')//第二个
      
              {
                 *(sum+i+j)=*(o_s.s_sentence+j) ;
                 j++ ;                    
             }
             *(sum+i+j)='\0' ; //去除程序运行后面多出的几个未知字符
             return sum ;
          }
          static void compare(MyString& f,MyString& s)//长度比较
          {
         
            for(;;)
            {
   
               f.s_sentence++ ;
               s.s_sentence++ ;
               if(*s.s_sentence=='\0') {cout<<"The first sentence was longer\n" ;break ;}  //比较一下哪个句子先结束
               else if(*f.s_sentence=='\0'){cout<<"The second sentence was longer\n" ;break ;}                  
            }
          }
          ~MyString()  //析构
          {
              cout<<"Delete the sentence" ;      
          }

 
            
} ;
int main()
{
   MyString first("what's your name?"),second("i'm LiNing.") ;
   char *p ;
   p=first+second ;
   cout<<"Add:    "<<p<<"\n"<<"The result of compare:    ";
   MyString::compare(first,second) ;
   system("pause") ;
}
#4
wangzhao85502011-05-24 09:38
我也是初学,写的不好
#5
zhoufeng19882011-05-24 17:04
很基础的东西,这种源码网上到处都是。
#6
新生儿宝贝2011-05-24 17:42
重新定义一个MyString,那个能实现字符串相加,比较的函数应该要自己写吧,而且想请问那些网站有那些源代码呢,本人菜鸟一枚,谢谢哦
#7
zhoufeng19882011-05-25 09:35
http://blog.
http://www.baidu.com/s?wd=C%2B%2B+string+%CA%B5%CF%D6&inputT=5916
....自己慢慢看吧。
1