类和对象-封装-设计案例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; 
}
相关推荐
小丑西瓜6662 小时前
CMake基础用法,cmake_minimum_required,project,add_executable
linux·服务器·c++·camke
晚风吹长发2 小时前
初步了解Linux中的命名管道及简单应用和简单日志
linux·运维·服务器·开发语言·数据结构·c++·算法
fpcc2 小时前
设计心得——隔离隐藏的初步实践
c++
C++ 老炮儿的技术栈2 小时前
不调用C++/C的字符串库函数,编写函数strcpy
c语言·开发语言·c++·windows·git·postman·visual studio
fyzy3 小时前
C++写后端实现,实现前后端分离
开发语言·c++
CSDN_RTKLIB3 小时前
C++谓词
c++·stl
汉克老师4 小时前
GESP2025年9月认证C++五级真题与解析(单选题9-15)
c++·算法·贪心算法·排序算法·归并排序·gesp5级·gesp五级
飞鹰514 小时前
CUDA高级优化实战:Stream、特殊内存与卷积优化—Week3学习总结
c++·gpt·chatgpt·gpu算力
txinyu的博客6 小时前
std::function
服务器·开发语言·c++
学嵌入式的小杨同学7 小时前
【嵌入式 C 语言实战】交互式栈管理系统:从功能实现到用户交互全解析
c语言·开发语言·arm开发·数据结构·c++·算法·链表