| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 495 人关注过本帖
标题:关于指针和数组,急
只看楼主 加入收藏
新生儿宝贝
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-5-22
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:6 
关于指针和数组,急
设计一个字符串类MyString,具有构造函数,析构函数,拷贝构造函数,重载运算符+,两个字符串相加,两个字符的长度比较,要求用指针和数组做,我之前用类做比较简单,但用指针和数组做怎样都想不出,哪位高手救救我
搜索更多相关主题的帖子: 字符串 
2011-05-22 18:49
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:0 
用函数进行运算不就行了
2011-05-24 08:11
wangzhao8550
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:32
专家分:139
注 册:2011-4-17
收藏
得分:5 
程序代码:
#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") ;
}
2011-05-24 09:37
wangzhao8550
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:32
专家分:139
注 册:2011-4-17
收藏
得分:0 
我也是初学,写的不好
2011-05-24 09:38
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
收藏
得分:5 
很基础的东西,这种源码网上到处都是。
2011-05-24 17:04
新生儿宝贝
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-5-22
收藏
得分:0 
重新定义一个MyString,那个能实现字符串相加,比较的函数应该要自己写吧,而且想请问那些网站有那些源代码呢,本人菜鸟一枚,谢谢哦
2011-05-24 17:42
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
收藏
得分:0 
http://blog.
http://www.baidu.com/s?wd=C%2B%2B+string+%CA%B5%CF%D6&inputT=5916
....自己慢慢看吧。
2011-05-25 09:35
快速回复:关于指针和数组,急
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017314 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved