问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++语言 结构体/类 运算、比较大小

发布网友 发布时间:2023-05-20 19:35

我来回答

2个回答

热心网友 时间:2024-03-21 00:26

重载运算符啊~~
PS:结构体=类,只是默认数据保密类型和继承类型不一样而已...

给个例子:

#define size_max UINT_MAX//字符串长度的最大值
typedef unsigned STR_SIZE_TYPE;//字符串长度变量声明
typedef char STR_CHAR;//字符串字符类型
const unsigned NAGASA=16;//重载>>中内存开辟递增数量级
struct string
{
private:
STR_CHAR *str;
STR_SIZE_TYPE len;
protected:
public:
string();
string(const STR_CHAR &);
string(const STR_CHAR *);
string(const string &,STR_SIZE_TYPE n=0,STR_SIZE_TYPE m=size_max);
string(const STR_SIZE_TYPE &,const STR_CHAR &);
string(const STR_CHAR *,const STR_SIZE_TYPE &);
virtual ~string();
string & operator =(const string &);
string & operator =(const STR_CHAR *);
string & operator =(const STR_CHAR &);
string & operator +=(const string &);
string & operator +=(const STR_CHAR *);
string & operator +=(const STR_CHAR &);
STR_CHAR & operator [](const STR_SIZE_TYPE & i);
const STR_CHAR & operator [](const STR_SIZE_TYPE & i)const;
STR_SIZE_TYPE size()const
{return len;};
STR_SIZE_TYPE has(const STR_CHAR &)const;//返回string对象中指定参数字符的数量
void up();//将string对象中的小写字母转换为大写字母
void low();//将string对象中的大写字母转换为小写字母
void swap(string &);
bool empty()const;
void resize(const STR_SIZE_TYPE,const STR_CHAR ch=' ');
void clear();
friend std::ostream & operator <<(std::ostream &,const string &);
friend std::istream & operator >>(std::istream &,string &);
friend bool operator <(const string &,const string &);
friend bool operator >(const string &,const string &);
friend bool operator ==(const string &,const string &);
friend bool operator !=(const string &,const string &);
friend bool operator <=(const string &,const string &);
friend bool operator >=(const string &,const string &);
friend string operator +(const string &,const string &);
friend void swap(string &,string &);
typedef STR_SIZE_TYPE size_type;
};
bool operator <(const string & st1,const string & st2)
{
if(strcmp(st1.str,st2.str)<0)
{
return true;
}
else
{
return false;
}
}
bool operator >(const string & st1,const string & st2)
{
if(strcmp(st1.str,st2.str)>0)
{
return true;
}
else
{
return false;
}
}
bool operator ==(const string & st1,const string & st2)
{
if(0==strcmp(st1.str,st2.str))
{
return true;
}
else
{
return false;
}
}
bool operator !=(const string & st1,const string & st2)
{
if(0==strcmp(st1.str,st2.str))
{
return false;
}
else
{
return true;
}
}
bool operator <=(const string & st1,const string & st2)
{
if(strcmp(st1.str,st2.str)>0)
{
return false;
}
else
{
return true;
}
}
bool operator >=(const string & st1,const string & st2)
{
if(strcmp(st1.str,st2.str)<0)
{
return false;
}
else
{
return true;
}
}

热心网友 时间:2024-03-21 00:26

最好用类.以后你会知道好处的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 市斤的意思市斤的意思是什么 首都师范大学的二本专业有哪些 首都师范大学科德学院有哪些专业?赶紧来看看? 首都师范大学有什么专业 首都师范大学有哪些专业?深入了解最新的专业排名及特色专业介绍? 八字缺什么五行取名 下列什么情形扣除工资不算克扣 转转二手手机可靠吗 ...能帮我打出像&#x328A;&#x328B;这带圈的六个字吗,谢谢了! 一个圈里面有个“小”的字,类似&#x329B;、&#x329A;、&#x32AB;、㊣ 。要“小”字... 公司跑了工资没发怎么办 公司三个月没发工资了,说明什么 员工已续签劳动合同但工资没发 工资没发说是被扣完了怎么办 u盘系统怎么设置不读取电脑原来的硬盘 15号到下个月18号怎么算工资 光动能电波手表在四川西北部地区能电波自动对时吗? 全民k歌锦零凤九为什么分手 全民k歌凤九有几个前女友? 手机怎么投电视 教你手机投屏到电视的方法? 大C虽然被曝是呐淘宝店主的钱秀衣服。。。引起公愤,但是无可否认,尽管... 淘宝开店防骗技巧之常见骗子手法? 淘宝店主如何利用免费的推广方式让店铺销量翻倍? 怎样背诵速度最快 怎么背书最快?又可以记得住 回合制游戏顶掉技能是什么意思 郭德纲称“顶层的技能是不怕模仿的”,你对他的这一观点怎么看?_百度... 天龙八部珍兽的什么技能会顶掉什么技能 嗅觉才是顶级技能什么意思 天龙八部上怎么顶宝宝的技能啊? 全职一季度平均工资是多少? 2022上海社平工资 胃药种类有哪些?中医:真正天然养胃吃它才好 中药胃药有哪些 中药 胃药玄胡乌药白芍香附木香黄芪甘草,有什么作用 胃的中药 中药,胃药 泰戈尔关于离别诗歌 工资缩短10天发是什么意思? 上十天班老板就发了十天的工资这是什么情况