案例来源自某小破站up猪IT黑马
https://www.bilibili.com/video/BV1et411b73Z?p=104&spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=4dc58e8b7d19f0a61ba865e1564b65dc
题目要求:1.求出立方体的面积和体积
2.分别用全局函数和成员函数判断两个立方体是否相等。
利用成员函数判断两个立方体是否相等:
bool issameByclass(Cube &c)
{
if (m_l== c.getlen() && m_w == c.getwid() && m_h == c.gethig())
{
return true;
}
return false;
false;
}
完整代码如下:
#include#include using namespace std; class Cube { //设置长宽高,得到长宽高。 public: void setlen(int len) //设置长 { m_l = len; } int getlen() //得到长 { return m_l; //返回需要一个数值,所以用整形int } void setwid(int wid) //设置宽 { m_w = wid; } int getwid() //返回需要一个数值,所以用整形int { return m_w; //得到宽 } void sethig(int hig) //设置高 { m_h = hig; } int gethig() //得到高 { return m_h; //返回需要一个数值,所以用整形int } //获取立方体面积 int square() { return 2 * m_l * m_w + 2 * m_l * m_h + 2 * m_w * m_h; } //获取立方体体积 int volume() { return m_l * m_w * m_h; } //利用成员函数判断两个立方体是否相等 bool issameByclass(Cube &c) { if (m_l== c.getlen() && m_w == c.getwid() && m_h == c.gethig()) { return true; } return false; false; } private: int m_l; //长 int m_w; //宽 int m_h; //高 }; //利用全局函数判断 两个立方体是否相等。 bool issame(Cube &c1, Cube &c2) //为了传入数据更简单些,通过引用方式进行传递 { //不会再拷贝出一份数据 if (c1.getlen() == c2.getlen() && c1.getwid() == c2.getwid() && c1.gethig() == c2.gethig()) { return true; } return false; } int main() { Cube c1; c1.setlen(11); c1.setwid(10); c1.sethig(10); Cube c2; c2.setlen(10); c2.setwid(11); c2.sethig(10); cout << "c1的面积为:" << c1.square() << endl; cout << "c2的面积为:" << c2.square() << endl; cout << "c1的体积为:" << c1.volume() << endl; cout << "c2的体积为:" << c2.volume() << endl; //调用函数进行比较 bool ret =issame(c1, c2); //调用声明过的bool issame if (ret) //令ret也为bool类型,返回值为true或false { cout << "c1和c2是相等的" << endl; } else { cout << "c1和c2是不相等的" << endl; } system("pause"); return 0; }



