类和对象-封装-设计案例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; 
}
相关推荐
实心儿儿1 小时前
C++ —— 模板进阶
开发语言·c++
go_bai2 小时前
Linux-线程2
linux·c++·经验分享·笔记·学习方法
j_xxx404_3 小时前
C++:继承(概念及定义|作用域|基类与派生类转换|默认成员函数|与友元、静态成员关系|多继承|组合)
数据结构·c++
欧阳x天4 小时前
C++入门(二)
开发语言·c++
编程之路,妙趣横生6 小时前
STL(五) priority_queue 基本用法 + 模拟实现
c++
一念一花一世界6 小时前
Arbess从初级到进阶(9) - 使用Arbess+GitLab实现C++项目自动化部署
c++·ci/cd·gitlab·arbess
大锦终6 小时前
【Linux】Reactor
linux·运维·服务器·c++
沐怡旸7 小时前
【穿越Effective C++】23.宁以non-member、non-friend替换member函数
c++·面试
青小俊7 小时前
【代码随想录c++刷题】-二分查找 移除元素 有序数组的平方 - 第一章 数组 part 01
c++·算法·leetcode
赖small强8 小时前
【Linux C/C++开发】第16章:多线程编程基础
linux·c语言·c++·多线程编程·进程和线程的本质区别