首页 > 编程语言 >C++利用类和对象封装立方体面积和体积

C++利用类和对象封装立方体面积和体积

时间:2024-07-13 17:29:36浏览次数:16  
标签:return cout int C++ 立方体 封装 c1 include

C++利用类和对象封装立方体面积和体积

1、说明

C++利用类和对象进行封装立方体的面积和体积,对学过的知识进行总结,本代码并非原创。

2、代码

#include<iostream>
#include<time.h>
#include<string.h>
#include<ctime>
using namespace std;
//立方体类设计
//1、创建立方体
//2、设计属性
//3、设计行为,获取立方体面积和体积
//4、分别利用全局函数和成员函数,判断两个立方体是否相等
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 calculates()
	{
		return 2 * m_l * m_h + 2 * m_l * m_w + 2 * m_h * m_w;
	}
	//获取立方体的体积
	int calculatev()
	{
		return m_l * m_h * m_w;
	}
	//利用成员函数判断两个立方体是否相等
	bool issameByclass(cube &c)
	{
		//cout << "m_l是:" << m_l << "   c.getl()是:"<< c.getl() <<endl;
		///cout << "m_w是:" << m_w << "   c.getw()是:" << c.getw() << endl;
		//cout << "m_h是:" << m_h << "   c.geth()是:" << c.geth() << endl;
		if ((m_l== c.getl())&& (m_w== c.getw()) && (m_h== c.geth()))
		{
			//cout << "**1"<<endl;
			return true;
		}
		else
		{
			cout << "**0" << endl;
			false;
		}
	}
private:
	int m_l;
	int m_w;
	int m_h;
};
//利用全局函数判断 两个立方体是否相等
bool issame(cube& c1, cube& c2)
{
	if ((c1.getl() == c2.getl()) && (c1.getw() == c2.getw() )&& (c1.geth() ==c2.geth()))
	{
		return true;
	}
	return false;
}
int main()
{
	//创建一个立方体的对象
	bool ret;
	bool ret2;
	cube c1;
	c1.setl(200);
	c1.setw(300);
	c1.seth(500);
	cout << "c1的面积是:" << c1.calculates() << endl;
	cout << "c1的体积是:" << c1.calculatev() << endl;
	//创建第二个立方体
	cube c2;
	c2.setl(200);
	c2.setw(300);
	c2.seth(5200);
	//利用全局函数进行判断
	ret=issame(c1,c2);
	if (ret)
	{
		cout << "c1和c2相等" <<endl;
	}
	else
	{
		cout << "c1和c2不相等" << endl;
	}
	//利用成员函数判断
	ret2=c1.issameByclass(c2);
	cout << ret2 << endl;
	if (ret2)
	{
		cout << "c1和c2相等" << endl;
	}
	else
	{
		cout << "c1和c2不相等" << endl;
	}
	system("pause");
	return 0;
}

3、总结

总结学习知识,定期进行复习。

标签:return,cout,int,C++,立方体,封装,c1,include
From: https://blog.csdn.net/xiaogudianzi/article/details/140403133

相关文章

  • C++ 小苹果
    题目描述小Y的桌子上放着 n 个苹果从左到右排成一列,编号为从 1 到 n。小苞是小Y的好朋友,每天她都会从中拿走一些苹果。每天在拿的时候,小苞都是从左侧第 1 个苹果开始、每隔 2 个苹果拿走 1 个苹果。随后小苞会将剩下的苹果按原先的顺序重新排成一列。小苞想......
  • c++ 勾股数
    题目描述输入整数R,输出小于等于R的满足X²+Y²=Z²的所有正整数X,Y,Z输入格式输入一个实数:R(1<=R<=100)输出格式输出一个整数表示共有多少组满足条件的勾股数样例输入10样例输出2代码如下#include<bits/stdc++.h>//万能头文件usingnamespacestd;i......
  • Hash表(C++)
        本篇将会开始介绍有关于unordered_map和unordered_set的底层原理,其中底层实现其实就是我们的Hash表,本篇将会讲解两种Hash表,其中一种为开放定址法,另一种为hash桶,在unordered_map和unordered_set的底层实现中主要是使用的是hash桶。    本......
  • c++ 计算mp3时长
    #include<stdio.h>#include<iostream>#include<fstream>#include<string>usingnamespacestd;structID3V2{ chartag[3]; charversion; charsubVersion; charflag; charsize[4];};constintbitrateIndex[16][5]={ {......
  • 【C++编程】数组、函数、结构体、指针、类
    数组:存储一个固定大小的相同类型元素的顺序集合声明、初始化:typearrayName[size0][size1]...={{value00,value01,...},{value10,value11,...},...};intmy_array[2][3]={{1,2,3},{4,5,6}};访问数组元素:arrayName[index0][index1]...;intget_eleme......
  • 【洛谷】P5728 【深基5.例5】旗鼓相当的对手——C++
    本题感想:本题主要是应该避免重复比较,以a,b,c,d为例,我们假设先a不动,依次比较d,c,b或者b,c,d,然后假设b不动,依次比较c,d,最后假设c不动,比较d,这样这道题就差不多解决了#include<iostream>#include<cmath>usingnamespacestd;intmain(){inta[1010][3],s[1010]={0......
  • 全栈物联网项目:结合 C/C++、Python、Node.js 和 React 开发智能温控系统(附代码示例)
    1.项目概述本文详细介绍了一个基于STM32微控制器和AWSIoT云平台的智能温控器项目。该项目旨在实现远程温度监控和控制,具有以下主要特点:使用STM32F103微控制器作为主控芯片,负责数据采集、处理和控制逻辑采用DHT22数字温湿度传感器,精确采集环境温湿度数据通过ESP8266WiF......
  • C++数组 字符串
    是什么:相同类型元素的集合写法:intexample[3]//数组在声明大小时必须为常数数组名example是个指针类型如int*ptr=example;数组索引的工作原理:example[3]//从首地址位置偏移数组类型大小(int是4字节)乘索引值(4*3)个字节//从当前字节位置往后读四个字节;可能出现的错误:ex......
  • 解决Microsoft Visual C++ runtime package找不到问题
    使用了Dism++进行电脑清理,不小心选择了下面两个内容:尤其是第二个packagecache绝对不能清空,否则不知道哪个软件就不能运行了,报MicrosoftvisualC++runtime问题.然后再安装各个版本MicrosoftvisualC++redis仍会报同样的问题,死循环了.网上有各种解决方案,有......
  • C++中的可见性 指针 笔记
    含义:谁能看到他们谁能调用?谁能使用?可见性的修饰符:private含义:只有其所在的类可以访问,被修饰的变量但是friend关键字可以让类或者函数成为朋友(友元)可以在别处访问私有成员protected含义:所在的类和层次结构中的所有子类可以访问这些符号例子:classprintable{prot......