求高手帮助一下C++中如何封装函数。。

forever0519 2012-08-27 09:20:52
我写了几个字符串函数想把它们封装一下,但不知道怎么封装,求高手帮助一下。。。
#include<iostream>
using namespace std;
class String {
public:
char a[30];
char b[30];
char *p1;
char *p2;
int number;
int n;
void strcpy();
void strncpy();
void lengh(int number);
void strcat();
void strncat();
void strlwr();
void strupr();
};
void String::strcpy(){
cout<<"strcpy:"<<endl;
cin>>a;
// cin>>b;
p1=a;
p2=b;

while(*p1!='\0'){
*p2=*p1;
p1++;
p2++;
}
*p2='\0';

cout<<b<<endl;
}
void String::strncpy(){
cout<<"strncpy:"<<endl;
cin>>a;
cin>>n;
p1=a;
p2=b;
while(p1!=&a[n])
{
*p2=*p1;
p1++;
p2++;
}
*p2='\0';
cout<<b<<endl<<endl;
}

void String::lengh(int number){
cin>>a;
p1=a;
while(*p1!='\0')
{
number++;
p1++;
}
cout<<number<<endl<<endl;
}

void String::strcat(){
cout<<"strcat:"<<endl;
cin>>a;
cin>>b;
p1=a;
p2=b;
while(*p1!='\0')
{
p1++;
}
while(*p2!='\0')
{
*p1=*p2;
p1++;
p2++;
}
*p1='\0';
cout<<a<<endl<<endl;
}

void String::strncat(){
cout<<"strncat:"<<endl;
cin>>a;
cin>>b;
cin>>n;
p1=a;
p2=b;
while(*p1!='\0')
{
p1++;
}
while(p2!=&b[n])
{
*p1=*p2;
p1++;
p2++;
}
*p1='\0';
cout<<a<<endl<<endl;
}

void String::strlwr(){
cout<<"strlwr:"<<endl;
cin>>a;
p1=a;
while(*p1!='\0')
{
while(*p1>64 && *p1<91)
{
*p1=*p1+32;
p1++;
}
*p1=*p1;
p1++;
}
cout<<a<<endl<<endl;
}

void String::strupr(){
cout<<"strupr:"<<endl;
cin>>a;
p1=a;
while(*p1!='\0')
{
while(*p1>96 && *p1<123)
{
*p1=*p1-32;
p1++;
}
*p1=*p1;
p1++;
}
cout<<a<<endl<<endl;
}
int main()
{
String str;
str.strcpy();
str.strncpy();
str.lengh(0);
str.strcat();
str.strncat();
str.strlwr();
str.strupr();
return 0;
}

...全文
301 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gloveing 2012-08-27
  • 打赏
  • 举报
回复
有个渐进的过程,
开始这样已经不错了,
项目做多了,慢慢就知道怎么去做更好了
Gloveing 2012-08-27
  • 打赏
  • 举报
回复
你不是封装的好好地么?还不错啦
图灵狗 2012-08-27
  • 打赏
  • 举报
回复
1、变量都放到private域;
2、函数都放到public域;
3、把class声明放到.h文件,把class实现放到.cpp文件。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧