类和对象-封装-设计案例1-立方体类

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
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 S(){
		return 2*m_L*m_W+2*m_L*m_H+2*m_W*m_H;
	}
	
	//获取立方体体积 
		int V(){
			return m_L*m_W*m_H;
		}
		
//利用成员函数判断两个立方体是否相等
bool isSameByclass(Cube &c){
	if(m_L==c.getL()&&m_H==c.getH()&&m_W==c.getW()){
		return true;
	}
	return false;
} 
	private:
		int m_L;//长 
		int m_W;//宽 
		int m_H;//高 
}; 
//利用全局函数判断两个立方体是否相等
bool isSame(Cube &c1,Cube &c2){
	if(c1.getL()==c2.getL()&&c1.getH()==c2.getH()&&c1.getW()==c2.getW()){
		return true;
	}
	return false;
} 
int main(){
	//创建立方体对象 
    Cube c1;
    
    c1.setL(10);
	c1.setW(10);
	c1.setH(10);
	cout<<"c1的面积为: "<<c1.S()<<endl;
	cout<<"c1的体积为: "<<c1.V()<<endl;
	//创建第二个立方体
	Cube c2;
    
    c2.setL(10);
	c2.setW(10);
	c2.setH(11);
	//利用全局函数判断 
	bool ret=isSame(c1,c2);
	if(ret){
		cout<<"c1和c2是相等的"<<endl;
	}
	else{
		cout<<"c1和c2是不相等的"<<endl;
	}
	//利用成员函数判断
	ret=c1.isSameByclass(c2); 
	if(ret){
		cout<<"c1和c2是相等的"<<endl;
	}
	else{
		cout<<"c1和c2是不相等的"<<endl;
	}
	return 0; 
}
相关推荐
code_pgf5 小时前
C++11 / C++14 / C++17 / C++20 新特性总结
c++·c++20
颜x小8 小时前
[C#] C++与c#语法对比
开发语言·c++·c#
汉克老师10 小时前
GESP2026年3月认证C++八级( 第三部分编程题(2、子图最短路)精讲
c++·最短路·floyd·gesp8级
abcd_zjq11 小时前
海康线扫相机使用
c++·海康
十五年专注C++开发11 小时前
C++设计一个函数来求容器元素绝对值之和的平均值
c++·模板·accumulate
SilentSlot11 小时前
【C/C++】手写 DPDK 协议栈(十一):基于 PPS、SYN 比例和源 IP 熵的 DDoS 检测
c语言·c++·tcp/ip
王老师青少年编程12 小时前
csp信奥赛C++高频考点专项训练:【排序算法】案例9:成绩排序
c++·排序算法·csp·高频考点·信奥赛·成绩排序
程序喵大人12 小时前
【C++进阶】STL容器与迭代器 - 05 map 和 set 为什么按键保持有序
开发语言·c++·容器·迭代器·stl
ShineWinsu13 小时前
对于Linux:HTTP中cookie、session的解析
linux·网络·c++·网络协议·http·cookie·session
库克克13 小时前
【C++】 unordered_map 与unordered_set
开发语言·c++