C++实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
1、定义一个圆类(Circle),属性为半径(radius)、圆周长和面积,操作为输入半径并计算周长、面积,输出半径、周长和面积。
#include<>
const double PI=;
class Circle{
double radius,length,area;
public:
Circle(double r=0){
setr(r);
length=2*PI*radius;
area=PI*radius*radius;
}
void print(){
cout<<"radius="< cout<<"length="< cout<<"area="< } void setr(double r){ radius=r; } }; void main(){ Circle c1(10),c2(c1); (); (); } 2、定义一个Point类表示平面上的一个点,再定义一个Rectangle类表示平面上的矩形,用Point类的对象作为Rectangle类的成员描述平面上矩形的顶点坐标。要求类Point中有相应的成员函数可以读取点的坐标值,类Rectangle中含有一个函数,用以计算并输出矩形的面积及顶点坐标。在主函数 中对类Rectangle进行测试。 #include<> #include<> class Point{ int x,y; public: Point(int a=0,int b=0) { x=a; y=b; } int getx(){return x;} int gety(){return y;} void print() { cout<<'('< } }; class Rectangle{ Point p1,p2,p3,p4; public: Rectangle(int a,int b,int c,int d):p1(a,b),p2(c,b),p3(a,d),p4(c,d) { } void f() { cout<<"矩形顶点坐标:"< ();cout<<'\t';();cout< ();cout<<'\t';();cout< int s=abs()())*abs()()); cout<<"矩形面积:"< } }; void main() { Rectangle r(2,6,8,10); (); } 3、定义一个类,用于删除字符串中多余的字符,使其中的字符互不相同,具体要求如下: (1)类的数据成员(字符串)用指针表示,并在构造函数中根据参数的实际情况为该成员指针申请类存空间。 (2)删除多余字符串时,只能在原字符串空间中进行,不得借助其他辅助空间。 #include<> #include<> class S{ char *str; public: S(char *s) { str=new char[strlen(s)+1]; strcpy(str,s); } void f() { char *p1=str,*p2,*p3; while(*p1) { p2=p1+1; while(*p2) if(*p1==*p2) { p3=p2; while(*p3) { *p3=*(p3+1); p3++; } } else p2++; p1++; } } void print() { cout< } ~S() { delete []str; } }; void main() { char s[100]; (s,100); S t(s); cout<<"原字符串为:\n"; (); (); cout<<"删除后的字符串为:\n"; (); } 4、定义一个类Array,实现二维数组每列元素按各元素的各位数字之和从小到大排序。要求用一个专门的函数求数组元素的各位数字之和。 #include<> #include<> class Array{ int a[4][3]; public: Array(int p[][3],int n) { for(int i=0;i for(int j=0;j<3;j++) a[i][j]=p[i][j]; } int f(int n) { int s=0; while(n){ s+=n%10; n/=10; } return s; } void fun() { for(int i=0;i<3;i++){ for(int j=0;j<3;j++) for(int k=j+1;k<4;k++) if((f(a[j][i]))>f(a[k][i])){ int t=a[j][i];