C++程序题编程题编写函数实现主程序中变量a和b值的交换
1.请编写函数voidswap(int*px,int*py)与voidswap(int&px,int&py),实现主程序中变量a和b值的交换。输出结果如下:3223注意:...
1.请编写函数void swap(int *px,int *py) 与void swap(int &px,int &py),实现主程序中变量a和b值的交换。
输出结果如下:
3 2
2 3
注意:部分源程序已存在文件test5_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数相应的花括号中填写若干语句。
文件test5_2.cpp的内容如下:
#include<iostream.h>
void swap(int *px,int *py)
{
/***1***/
}
void swap(int &px,int &py)
{
/***2***/
}
void main()
{
int a=2,b=3;
swap(a,b);
cout<<a<<" "<<b<<endl;
swap(&a,&b);
cout<<a<<" "<<b<<endl;
}
2.请编写类的成员函数char & CharArray::operator [](int i),将下标运算符[]重载,如果i没有为负数或超界则返回该字符,否则输出"Index out of range."并且返回0。要求使用if判断实现算法。输出结果如下:
Index out of range.
Index out of range.
string
Index out of range.
Index out of range.
6
注意:部分源程序已存在文件test24_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数CharArray::operator []的花括号中填写若干语句。
文件test24_2.cpp的内容如下:
#include<iostream.h>
class CharArray
{
public:
CharArray(int l)
{
Length=l;
Buff=new char[Length];
}
~CharArray()
{
delete Buff;
}
int GetLength()
{
return Length;
}
char & operator[] (int i);
private:
int Length;
char *Buff;
};
char & CharArray::operator [](int i)
{
}
void main()
{
int cnt;
CharArray string1(6);
char *string2="string";
for(cnt=0; cnt<8; cnt++)
string1[cnt] = string2[cnt];
cout<<"\n";
for(cnt=0; cnt<8; cnt++)
cout<<string1[cnt];
cout<<"\n";
cout<<string1.GetLength()<<endl;
} 展开
输出结果如下:
3 2
2 3
注意:部分源程序已存在文件test5_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数相应的花括号中填写若干语句。
文件test5_2.cpp的内容如下:
#include<iostream.h>
void swap(int *px,int *py)
{
/***1***/
}
void swap(int &px,int &py)
{
/***2***/
}
void main()
{
int a=2,b=3;
swap(a,b);
cout<<a<<" "<<b<<endl;
swap(&a,&b);
cout<<a<<" "<<b<<endl;
}
2.请编写类的成员函数char & CharArray::operator [](int i),将下标运算符[]重载,如果i没有为负数或超界则返回该字符,否则输出"Index out of range."并且返回0。要求使用if判断实现算法。输出结果如下:
Index out of range.
Index out of range.
string
Index out of range.
Index out of range.
6
注意:部分源程序已存在文件test24_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数CharArray::operator []的花括号中填写若干语句。
文件test24_2.cpp的内容如下:
#include<iostream.h>
class CharArray
{
public:
CharArray(int l)
{
Length=l;
Buff=new char[Length];
}
~CharArray()
{
delete Buff;
}
int GetLength()
{
return Length;
}
char & operator[] (int i);
private:
int Length;
char *Buff;
};
char & CharArray::operator [](int i)
{
}
void main()
{
int cnt;
CharArray string1(6);
char *string2="string";
for(cnt=0; cnt<8; cnt++)
string1[cnt] = string2[cnt];
cout<<"\n";
for(cnt=0; cnt<8; cnt++)
cout<<string1[cnt];
cout<<"\n";
cout<<string1.GetLength()<<endl;
} 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
展开全部
代码如下
1、
#include<iostream.h>
void swap(int *px,int *py)
{
int p=*px;
*px=*py;
*py=p;
}
void swap(int &px,int &py)
{
int p;
p=px;
px=py;
py=p;
}
void main()
{
int a=2,b=3;
swap(a,b);
cout<<a<<" "<<b<<endl;
swap(&a,&b);
cout<<a<<" "<<b<<endl;
}
2、
#include<iostream.h>
class CharArray
{
public:
CharArray(int l)
{
Length=l;
Buff=new char[Length];
}
~CharArray()
{
delete Buff;
}
int GetLength()
{
return Length;
}
char & operator[] (int i);
private:
int Length;
char *Buff;
};
char & CharArray::operator [](int i)
{
char ch=0;
if(i<0||i>=Length)
{
cout<<endl<<"Index out of range"<<endl;
return ch;
}
else
{
return Buff[i];
}
}
void main()
{
int cnt;
CharArray string1(6);
char *string2="string";
for(cnt=0; cnt<8; cnt++)
string1[cnt] = string2[cnt];
cout<<"\n";
for(cnt=0; cnt<8; cnt++)
cout<<string1[cnt];
cout<<"\n";
cout<<string1.GetLength()<<endl;
}
1、
#include<iostream.h>
void swap(int *px,int *py)
{
int p=*px;
*px=*py;
*py=p;
}
void swap(int &px,int &py)
{
int p;
p=px;
px=py;
py=p;
}
void main()
{
int a=2,b=3;
swap(a,b);
cout<<a<<" "<<b<<endl;
swap(&a,&b);
cout<<a<<" "<<b<<endl;
}
2、
#include<iostream.h>
class CharArray
{
public:
CharArray(int l)
{
Length=l;
Buff=new char[Length];
}
~CharArray()
{
delete Buff;
}
int GetLength()
{
return Length;
}
char & operator[] (int i);
private:
int Length;
char *Buff;
};
char & CharArray::operator [](int i)
{
char ch=0;
if(i<0||i>=Length)
{
cout<<endl<<"Index out of range"<<endl;
return ch;
}
else
{
return Buff[i];
}
}
void main()
{
int cnt;
CharArray string1(6);
char *string2="string";
for(cnt=0; cnt<8; cnt++)
string1[cnt] = string2[cnt];
cout<<"\n";
for(cnt=0; cnt<8; cnt++)
cout<<string1[cnt];
cout<<"\n";
cout<<string1.GetLength()<<endl;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询