
直接上代码罢()
(^ _ ^)
案例1——立方体类
#include<iostream>
using namespace std;
//(^_^)
//立方体类设计
//1.创建立方体类
//2.设计属性
//3.设计行为 获取立方体面积和体积
//4.分别利用全局函数和成员函数判断两个立方体是否相等
class Cube
{
public:
//行为
//设置长
void setL(int l)
{
m_L = l;//在类内,私有权限的数据是可以访问的
}
//获取长
int getL()
{
return m_L;
}
//设置宽
void setW(int w)
{
m_W = w;
}
//获取宽
int getW()
{
return m_W;
}
//设置高
void setH(int h)
{
m_H = h;
}
//获取高
int getH()
{
return m_H;
}
//获取立方体面积
int calculateS()
{
return 2 * m_L * m_W + 2 * m_L * m_H + 2 * m_W * m_H;
}
//获取立方体体积
int calculateV()
{
return m_L * m_W * m_H;
}
//利用成员函数来判断两个立方体是否相等 成员函数应该写在类里面
bool isSameByClass(Cube& c)//传一个立方体,用一个已知的对象来调用成员函数,然后传入未知的对象即可
{
if (m_L == c.getL() && m_W == c.getW() && m_H == c.getH())
return true;
else
return false;
}
private:
//属性
int m_L;//长
int m_W;//宽
int m_H;//高
};
//利用全局函数来判断两个立方体是否相等 既不在类里面,也不在main函数中的函数叫做全局函数
bool isSame(Cube& c1, Cube& c2)//利用地址传递节省空间
{
if (c1.getL() == c2.getL() && c1.getW() == c2.getW() && c1.getH() == c2.getH())
{
return true;
}
else
return false;
}
int main()
{
//创建立方体对象
Cube c1;
c1.setL(10);
c1.setW(10);
c1.setH(10);
//600 1000
cout << "c1的面积为: " << c1.calculateS() << endl;
cout << "c1的体积为: " << c1.calculateV() << endl;
//创建第二个立方体对象
Cube c2;
c2.setL(10);
c2.setW(10);
c2.setH(11);
//判断两个立方体是否相等
//利用全局函数判断
bool result = isSame(c1, c2);
if (result)
cout << "c1和c2是相等的立方体" << endl;
else
cout << "c1和c2是不相等的" << endl;
//利用成员函数判断
result = c1.isSameByClass(c2);
if (result)
cout << "成员函数判断: c1和c2是相等的立方体" << endl;
else
cout << "成员函数判断: c1和c2是不相等的" << endl;
system("pause");
return 0;
}
案例二——点与圆位置关系
#include <iostream>
using namespace std;
class Point
{
public:
//设置x
void setX(int x1)
{
x = x1;
}
//获取x
int getX()
{
return x;
}
//设置y
void setY(int y1)
{
y = y1;
}
//获取y
int getY()
{
return y;
}
private:
int x;
int y;
};
class Circle
{
public:
//设置半径
void setR(int r1)
{
r = r1;
}
//获取半径
int getR()
{
return r;
}
//设置圆心
void setPointC(Point circleP1)
{
circleP = circleP1;
}
//获取圆心
Point getPointC()
{
return circleP;
}
private:
int r; //半径
Point circleP; //圆心
};
//判断点与圆的关系
void isInCircle(Circle &c,Point &p)
{
int distance;
distance = (c.getPointC().getX() - p.getX()) * (c.getPointC().getX() - p.getX()) + (c.getPointC().getY() - p.getY()) * (c.getPointC().getY() - p.getY());
int rr;
rr = c.getR() * c.getR();
if(distance == rr){
cout << "点在圆上" << endl;
}else if(distance > rr){
cout << "点在圆外" << endl;
}else{
cout << "点在圆内" << endl;
}
}
int main()
{
//创建圆
Circle c1; //圆
Point cirP; //圆点
cirP.setX(10);
cirP.setY(0);
c1.setR(10);
c1.setPointC(cirP);
//创建判断点
Point point;
point.setX(10);
point.setY(1);
isInCircle(c1,point);
return 0;
}
3019

被折叠的 条评论
为什么被折叠?



