| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 524 人关注过本帖
标题:[求助]运算符重载问题
只看楼主 加入收藏
xbw0114
Rank: 1
等 级:新手上路
帖 子:141
专家分:0
注 册:2007-8-8
收藏
 问题点数:0 回复次数:4 
[求助]运算符重载问题

#include <iostream.h>

#include <string.h>

class Stat{

char str[101];

int n[10];

public:

Stat( char *str="" ){ strcpy(this->str, str); } //这里是什么意思?

void input();

void process();

friend ostream& operator<<(ostream&, Stat&);

};

void Stat::input()

{

cout << "input a string: ";

cin.getline( str, 100 );

}

void Stat::process()

{

unsigned int i;

for(i=0; i<10; i++) n[i] = 0;

for(i=0; i<strlen(str); i++)

if( (str[i]>='0' ) && (str[i]<='9') )

n[str[i]-'0']++ ;//这里是什么意思?
}

ostream& operator<<(ostream& ostr, Stat& st)

{

ostr << "串为:" << st.str << endl;

for( int i=0; i<10; i++)

ostr << "字符" << char('0'+i) << "的个数:" << st.n[i] << endl;

return ostr;

}

void main()

{

Stat st;
st.input();
st.process();

cout << st << endl;

帮忙读下程序,详细帮忙解释下该程序啊,谢过
}

搜索更多相关主题的帖子: 运算符 Stat str void input 
2007-10-07 20:17
DieHeart
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-10-4
收藏
得分:0 

Stat( char *str="" ){ strcpy(this->str, str); } //这里是什么意思?
a function with default parameter ""
copy patameter to member variable


n[str[i]-'0']++ ;//it's easy to do it yourself.

2007-10-07 23:56
xbw0114
Rank: 1
等 级:新手上路
帖 子:141
专家分:0
注 册:2007-8-8
收藏
得分:0 

什么意思?


勤奋造就未来
2007-10-08 08:37
远去的列车
Rank: 1
等 级:新手上路
威 望:2
帖 子:205
专家分:0
注 册:2007-8-7
收藏
得分:0 

题目跟问题毫不相关啊

str[i]-'0'
str[i]这个字符跟'0'的偏移量


C++学习
2007-10-08 09:21
zkkpkk
Rank: 2
等 级:论坛游民
威 望:5
帖 子:489
专家分:28
注 册:2006-6-17
收藏
得分:0 
n[str[i]-'0']++ ;//这里是什么意思?
计算str[i]那个数字字符的次数,你前面给n[]初始化0~9的单元里都是0了是吧,所以找到那个位置后自增OK,位置怎么来的呢,str[i]-'0'等于(int)str[i]-'0',所以定位到了n[]里和str[i]的数字字符一致的那个单元去了。

Stat( char *str="" ){ strcpy(this->str, str); } //这里是什么意思?
自己查strcpy的功能,这里是在构造函数里把成员str初始化

Viva,espana!
2007-10-08 17:28
快速回复:[求助]运算符重载问题
数据加载中...
 
   



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

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