类和对象-封装-设计案例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; 
}
相关推荐
王老师青少年编程2 小时前
2025年12月GESP真题及题解(C++七级): 城市规划
c++·gesp·csp·信奥赛·七级·csp-s·提高组
寻星探路3 小时前
【算法专题】滑动窗口:从“无重复字符”到“字母异位词”的深度剖析
java·开发语言·c++·人工智能·python·算法·ai
我叫袁小陌4 小时前
C++多线程全面详解
开发语言·c++
m0_748250034 小时前
C++ 官方文档与标准
开发语言·c++
matlabgoodboy5 小时前
程序代做python代编程matlab定制代码编写C++代写plc设计java帮做
c++·python·matlab
DYS_房东的猫5 小时前
《 C++ 零基础入门教程》第6章:模板与 STL 算法 —— 写一次,用万次
开发语言·c++·算法
点云SLAM5 小时前
C++ 静态初始化顺序问题(SIOF)和SLAM / ROS 工程实战问题
开发语言·c++·slam·静态初始化顺序问题·工程实战技术·c++static 关键字
pen-ai6 小时前
打通 Python 与 C++ 的参数传递机制
开发语言·c++·python
王老师青少年编程6 小时前
信奥赛C++提高组csp-s之KMP算法详解
c++·kmp·字符串匹配·csp·信奥赛·csp-s·提高组
喵星人工作室6 小时前
C++传说:神明之剑0.4.5装备机制彻底完成
开发语言·c++·游戏