例一:设计一个立方体类
图片取自黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili配套环境搭建教程av44145245本教程分为7个阶段,涵盖基础入门到实战项目,第1阶段-C++基础入门,第2阶段实战-通讯录管理系统,第3阶段-C++核心编程,第4阶段实战-基于多态的企业职工系统第5阶段-C++提高编程第6阶段实战-基于STL泛化编程的演讲比赛第7阶段-C++实战项目机房预约管理系统视频全套出自http://yun.itheima.com/course/520.html?bilhttps://www.bilibili.com/video/BV1et411b73Z?p=104
?下面代码是案例中的第一个要求:(1)设计出一个类
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;
}
private: //一般属性私有
int m_L; //立方体长
int m_W; //立方体宽
int m_H; //立方体高
};
第二个要求:(2)求出立方体的面积和表面积
int calculateS()//表面积的计算函数(记得如果是return所求值的话,记得拿值来接收return的值)
{
return 2 * m_H * m_L + 2 * m_H * m_W + 2 * m_L * m_W;
}
int calculateV()//体积计算函数
{
return m_H * m_L * m_W;
}
要求三:分别用全局函数和成员函数去判断立方体是否相等
成员函数:
//成员函数求法
bool Issame(Cube &c) //用一个已知的类去调用这个函数,然后函数参数传进来的是那个未知的立方体
//具体操作会在主函数调用中体现出来
{
if (m_L == c.GetL() && m_H == c.GetH() && m_W == c.GetW())
//if (GetL() == c.GetL() && GetH() == c.GetH() && GetW == c.GetW())
//上述两行代码是可替换的,原因就是GetL()函数的返回值就是m_L 剩下两个都是这个道理
{
return true;
}
return false;
}
全局函数:
bool Issame(Cube &c1,Cube &c2)
{
if (m_L == c.GetL() && m_H == c.GetH() && m_W == c.GetW())
{
return true;
}
return false;
}
两个函数唯一不同的就是传入的参数不同,实现起来一毛一样!
主函数的调用上述接口函数:
int main()
{
Cube c1;
c1.SetH(10);
c1.SetL(10);
c1.SetW(10);
Cube c2;
c2.SetH(10);
c2.SetL(10);
c2.SetW(122);
int flag = c1.Issame(c2);
if (flag)
{
cout << "哈哈哈" << endl;
}
else
{
cout << "呜呜呜" << endl;
}
system("pause");
return 0;
}
成员函数那个函数理解起来较困难一些? ?就是一个已知的对象来调用成员函数,传入一个未知的对象,来进行比较!
菜就多练,要不输的时候别叫,自己不努力,怪谁呢?
|