实验二:类与对象
实验二:类与对象
一、实验目的
- 练习类的定义和对象的声明;
- 观察构造函数和析构函数的执行过程;
- 学会声明公有、私有成员数据和成员函数,并调用函数解决实际问题
二、实验环境
- PC计算机一台;
- Dev-C++开发环境。
三、实验内容
- 1、编写一个程序,设计一个点类Point,求两个点之间的距离。
2、设计一个正方体类Cube,它能计算并输出正方体的体积和表面积。
实验要求:Cube类包含三个私有数据成员a(正方体边长)、volume(体积)和area(表面积),另设计两个构造函数以及seta()(设置正方体边长)、getvolume()(计算体积)、getarea()(计算表面积)和disp()(输出结果)。
3、定义一个表示角度的类Angle,使用它定义一个角的对象A,调用成员函数设置A的角度并输出角的正弦值:
实验要求:Angle类包含私有数据成员degree(表示角度,double类型),另设计两个构造函数以及setdegree()(设置角度)、getsin(计算正弦值)。
—1、—
编写一个程序,设计一个点类Point,求两个点之间的距离。
#include
#include
using namespace std;class Point {private:float x,y;public:Point(float x,float y);Point(Point &p);friend float distance(Point p1,Point p2);
};Point::Point(float xx,float yy) {x=xx;y=yy;
};
Point::Point(Point &p){x=p.x;y=p.y;
}float distance(Point p1,Point p2){cout<<"两点间的距离为:";return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
}int main(){float x1,x2,y1,y2;cout<<"输入第一个点的坐标(x1,y1):";cin>>x1>>y1;cout<<"输入第二个点的坐标(x2,y2):";cin>>x2>>y2;Point point1(x1,y1);Point point2(x2,y2);cout<<distance(point1,point2)<<endl;system("pause");return 0;
}

—2、—
设计一个正方体类Cube,它能计算并输出正方体的体积和表面积。
实验要求:Cube类包含三个私有数据成员a(正方体边长)、volume(体积)和area(表面积),另设计两个构造函数以及seta()(设置正方体边长)、getvolume()(计算体积)、getarea()(计算表面积)和disp()(输出结果)。
#include
using namespace std;class Cube{private:float a;float volume;float area;public:Cube(float a);float seta(float a);float getvolume(){volume=a*a*a;return volume;}float getarea(){area=6*a*a;return area;}void display(){cout<<"体积:"<<getvolume()<<endl;cout<<"表面积:"<<getarea()<<endl;}
};
Cube::Cube(float a){a=a;
}
float Cube::seta(float aa){a=aa;
}int main(){float a;cout<<"输入正方体的边长:";cin>>a;Cube c(a);c.seta(a);c.display();system("pause");return 0;
}

—3、—
定义一个表示角度的类Angle,使用它定义一个角的对象A,调用成员函数设置A的角度并输出角的正弦值:
实验要求:Angle类包含私有数据成员degree(表示角度,double类型),另设计两个构造函数以及setdegree()(设置角度)、getsin(计算正弦值)。
#include
#include
using namespace std;
const double PI=3.1415926;
class Angle
{private:double degree; double sind;public:Angle(double degree);double setdegree(double d){degree=d;}double getsin(){cout<<"正弦值sin为:";sind=sin(degree/180*PI);return sind;}
};Angle::Angle(double degree){degree=degree;
}int main(){double a;cout<<"请输入角度:";cin>>a;Angle angle(a);angle.setdegree(a);cout<<angle.getsin()<<endl;system("pause");return 0;
}

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
