设计立方体类,并进行判断
#include <iostream>
using namespace std;
class cube
{
public:
//共有方法
int getL()
{
return L;
}
void setL(int la)
{
L = la;
}
int getW()
{
return W;
}
void setW(int wa)
{
W = wa;
}
int getH()
{
return H;
}
void setM(int ha)
{
H = ha;
}
//行为
int getMJ() {
return 2 * ((L * W) + (L * H) + (H * W));
}
int getTJ() {
return L * W * H;
}
//成员函数 判断两个立方体是否相等
bool isSameByClass(cube &d)
{
if (d.getL() == L && d.getH() == H && d.getW() == W)
{
return true;
}
return false;
}
private:
//属性
int L;
int W;
int H;
};
//全局函数:判断两个立方体是否相等
bool isSame(cube &c, cube &d)
{
if (c.getL() == d.getL() && c.getH() == d.getH() && c.getW() == d.getW())
{
return true;
}
return false;
}
int main()
{
cube c;
c.setL(10);
c.setM(10);
c.setW(10);
cout << "面积:" << c.getMJ() << endl;
cout << "体积:" << c.getTJ() << endl;
cube d;
d.setL(10);
d.setM(10);
d.setW(1);
bool ret = isSame(c, d);
if (ret) {
cout << "全局函数判断c和d相等" << endl;
}
else
{
cout << "全局函数判断c和d不相等" << endl;
}
ret = c.isSameByClass(d);
if (ret) {
cout << "成员函数判断c和d相等" << endl;
}
else
{
cout << "成员函数判断c和d不相等" << endl;
}
system("pause");
return 0;
}
判断点和圆的关系
#include <iostream>
using namespace std;
//点类
class Point
{
public:
//设置x
void setX(int x)
{
m_x = x;
}
//获取x
int getX()
{
return m_x;
}
//设置y
void setY(int y)
{
m_y = y;
}
//获取y
int getY()
{
return m_y;
}
private:
int m_x;
int m_y;
};
class Circle
{
public:
//设置半径
void setR(int r)
{
m_R = r;
}
//获取半径
int getR()
{
return m_R;
}
//设置圆心
void setCenter(Point center)
{
m_Center = center;
}
//获取圆心
Point getCenter()
{
return m_Center;
}
private:
int m_R; // 半径
Point m_Center; //圆心
};
//判断点和圆的关系
void isInCircle(Circle &c, Point &p)
{
//计算两点之间距离的平方
int dis =
(c.getCenter().getX() - p.getX()) * (c.getCenter().getX() - p.getX()) +
(c.getCenter().getY() - p.getY()) * (c.getCenter().getY() - p.getY());
//计算半径的平方
int rdis = (c.getR()) * (c.getR()) ;
//判断关系
if (dis == rdis)
{
cout << "点在圆上" << endl;
}
else if (dis > rdis)
{
cout << "点在圆外" << endl;
}
else
{
cout << "点在圆内" << endl;
}
}
int main()
{
//创建圆
Circle C;
C.setR(10);
Point P;
P.setX(10);
P.setY(0);
C.setCenter(P);
//创建测试点
Point P1;
P1.setX(10);
P1.setY(10);
//判断关系
isInCircle(C,P1);
system("pause");
return 0;
}
由于代码过长,难以阅读,可以将其封装起来。
拆分成.cpp和.h文件,.cpp(需要导入.h文件)包含函数名和内容(void point::setX(int x){ 内容 });.h文件包含函数名