C++复习(重点代码)

1.*getName()返回值指向字符串的指针及构造函数

#include"cstring"
#include"iostream"
using namespace std;
class a
{
public:
 a(char *c)
 {
 str=(char*)new char[strlen(c)+1];
 strcpy(str,c);
 }
char *getName()
{
return str;
}
private:
 char *str;
};
int main()
{
 a b("gjq");
 cout<<b.getName()<<endl;
    return 0;
}

2.字符串重载

#include<string.h>
#include<iostream>
using namespace std;
class strType
{
public:
 strType(){*s='\0';}
 strType(char *p) {strcpy(s,p);}//通过一个字符串指针来初始化字符数组
 char *get() {return s;}
 strType operator+(strType &s2);//重载+
 strType operator=(strType &s2);//重载赋值操作符
 int operator<(strType &s2);
    int operator>(strType &s2);
    int operator==(strType &s2);//重载一个逻辑运算符,也就是==操作符
private:
 char s[100];
};

strType strType::operator+(strType &s2)
{
strType t;
strcpy(t.s,s);
strcat(t.s,s2.s);
return t;
}//这是个双目操作符,因此先建立一个StrType的临时变量t

strType strType::operator=(strType &s2)
{
strcpy(s,s2.s);
return *this;
}//this在这里就是指向等于号左边的那个StrType


int strType::operator<(strType &s2)
{
return strcmp(s,s2.s)<0;
}

int strType::operator>(strType &s2)
{
return strcmp(s,s2.s)>0;
}

int strType::operator==(strType &s2)
{
return strcmp(s,s2.s)==0;
}

void main()
{
strType str1("hello"),str2("world"),str3;
str3=str1+str2;
cout<<"str1="<<str1.get()<<endl;
cout<<"str2="<<str2.get()<<endl;
cout<<"str3=str1+str2="<<str3.get()<<endl;
str3=str1;
if(str1<str2)
cout<<"str1<str2"<<endl;
if(str1>str2)
cout<<"str1>str2"<<endl;
if(str1==str3)
cout<<"str1与str3相等"<<endl;
}

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦里仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值