类和对象的简单使用
1.练习1
/*设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。
分析:1.圆类。
圆由圆心和半径决定。
2.圆和点的关系
点在圆外,点在圆上,点在圆内。
author:cloud
*/
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
class circle {
public:
//定义方法:设置圆的属性参数
void setcircle() {
cout<<"请输入圆心位置x,y"<<endl;
cin >> x >> y;
cout << "请输入圆的半径R" << endl;
cin >> R;
cout << "请输入点的位置x1,y1" << endl;
cin >> x1>>y1;
}
//设置函数:判断点和圆的关系
void compute_relation() {
//计算点到圆心的距离
float distance = sqrt(pow((x1 - x), 2) + pow((y1 - y), 2));
//判断关系
if (distance == R) {
cout << "点在圆上" << endl;
}
else if (distance <R) {
cout << "点在圆内" << endl;;
}
else {
cout << "点在圆外" << endl;
}
}
private:
int x, y;//圆心位置
int R;//圆的半径
int x1, y1;//点的位置
};
int main() {
circle c1;
c1.setcircle();
c1.compute_relation();
system("pause");
return 0;
}
2.练习2
创建立方体的类,并比较两个立方体是否相等。
#include<iostream>
using namespace std;
//立方体类
class Cube {
public:
void setvalue() {
cout << "请输入立方体的三个边长:" << endl;
int L, W, H;
cin >> L >> W >> H;
m_L=L;
m_W = W;
m_H = H;
}//长方体边长参数
int get_m_area() {
return (2*m_L*m_W+2*m_L*m_H+2*m_H*m_W);
}//长方体面积
int m_volume() {
return (m_L*m_W*m_H);
}//长方体体积
private:
int m_L, m_W, m_H;
};
//全局函数
void comparev(Cube v2, Cube v3) {
if ((v2.get_m_area()== v3.get_m_area())&&(v2.m_volume() == v3.m_volume())){
cout << "两个立方体相等" << endl;
}
else {
cout << "两个立方体不相等" << endl;;
}
}
int main() {
Cube v1;
Cube v2;
v1.setvalue();
v2.setvalue();
cout << "v1的面积为:" << v1.get_m_area()<< endl;
cout << "v2的面积为:" << v2.get_m_area() << endl;
cout << "v1的体积为:" << v1.m_volume() << endl;
cout << "v2的体积为:" << v2.m_volume() << endl;
comparev(v1,v2);
}