注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
MySQL中文参考手册---5 MySQL与标
用VC程序来创建SQL Server ODBC数
无需Aero!Vista新标准主题亮相
轻轻松松的安装Slackware Linux 
防止分化 解读Linux最新标准LSB 
生死MFC程序
VB调用C程序的方法—动态链接库法
用VB编写标准CGI程序
Visual Basic 编程标准(1)
在VB中通过相对路径引用标准DLL
您现在的位置: 顶尖设计 >> IT学院 >> 编程开发 >> C >> 文章正文
标准C程式库--问题例--类型 String
作者:佚名  来源:不详  点击:  更新:2006-12-19
简介:
;+= c_str();
                n--;
        }
        return temp;
}
--------------------------------------------
Q5:以继承的方法,重载 "- " 运算子,使它的功能为--删除特定字串。如果有重的字串,请删除最前的字串。

A5:须引入 
class NString : public string
{
        public:
                NString operator - (NString);
};

NString NString::operator - (NString str)
{
        NString temp;
        unsigned int pos1 = string::find(str);
        unsigned int len1 = str.length();
        temp.assign(c_str());
        if (pos1 > 0 && pos1 <= length()) temp.erase(pos1,len1);
        return temp;
}
--------------------------------------------
Q6:以继承的方法,重载 " int " 型别转换运算拟,使它能转换字串中的第一个数字。

A6:须引入 
class NString : public string
{
        public:
                operator int();
};

NString::operator int()
{
        string num("0123456789"),temp;  //所有合法的数字
        int val=0;

        //取得第一个数字的位置
        unsigned int start = find_first_of(num,0);
        unsigned int end = find_first_not_of(num,start);
        temp = substr(start,(end-start));

        //转换字串成整数
        for (unsigned int i=0;i        {
              val += (temp[i] - '0');    //利用圈来取得每一个字元的数字
              val *= 10;                    //取得後进位,但个位数会移到十位数
        }                                        //除 10 把个位数拉回
        if ( at(start-1) == '-' ) return -val/10;      //数字前一个位置是否为负号
        return val/10;
}
--------------------------------------------

上一页  [1] [2] 






  • 上一篇文章:
  • 下一篇文章:
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务