当前位置: 首页 > news >正文

C++类与对象的第二个简单的实战练习-3.24笔记

哔哩哔哩C++面向对象高级语言程序设计教程(118集全)

实战二

在这里插入图片描述

Cube.h

#pragma once
class Cube
{
private:
	double length;
	double width;
	double height;
public:
	double area(void);
	double Volume(void);
	//bool judgement(double L1, double W1, double H1);
	bool judgement(const Cube &ob);//采用引用整体类的方式,节约空间
	void set(void);
	void get(void);
	double getL(void);
	double getW(void);
	double getH(void);

};

cube.cpp

#include "Cube.h"
#include<iostream>
using namespace std;
double Cube::area(void)
{
	double result1;
	result1 = 2 * (length * width + length * height + height * width);
	cout << "面积为:" << result1 << endl;
	return result1;

}

double Cube::Volume(void)
{
	double result2;
	result2 = length * width * height;
	cout << "体积为:" << result2 << endl;
	return result2;
}

bool Cube::judgement(const Cube &ob)
{
	if ((ob.length == length) && (ob.width == width) && (ob.height == height)) {
		return 1;
	}
	else return 0;
}

void Cube::set(void)
{
	int L, H, W;
	cout << "请先输入长宽高,长是:" << endl;
	cin >> L;
	length = L;
	cin.ignore();
	cout << "高是:" << endl;
	cin >> H;
	height = H;
	cin.ignore();
	cout << "宽是:" << endl;
	cin >> W;
	width = W;
	cout << "输入完毕" << endl;
}

void Cube::get(void)
{
	cout << "你输入的内容是length = " << length << ", width = " << width << ", height = " << height << endl;
}

double Cube::getL(void)
{
	return length;
}

double Cube::getW(void)
{
	return width;
}

double Cube::getH(void)
{
	return height;
}

main.cpp

#include"Cube.h"
#include<iostream>
using namespace std;


//在全局函数中不可以通过对象直接访问私有成员,但是可以通过对象的方法间接访问私有数据
bool myjudgement(Cube& ob1, Cube& ob2)
{
	if ((ob1.getL() == ob2.getL()) && (ob1.getW() == ob2.getW()) && (ob1.getH() == ob2.getH())) {
		return 1;
	}
	else return 0;
}

int main() {
	//实例化两个对象
	Cube ob1;
	Cube ob2;

	//获取第一个立方体的具体信息并打印出来
	cout << "第一个立方体" << endl;
	ob1.set();
	ob1.get();

	//获取第二个立方体的具体信息并打印出来
	cout << "第二个立方体" << endl;
	ob2.set();
	ob2.get();

	//输出第一个立方体的面积和体积
	ob1.area();
	ob1.Volume();


	//利用成员函数判断两个立方体是否相等
	if (ob1.judgement(ob2)) {
		cout << "两个立方体完全相等" << endl;
	}
	else cout << "两个立方体不完全相等" << endl;

	//利用全局函数判断两个立方体是否相等
	if (myjudgement(ob1, ob2)) {
		cout << "两个立方体完全相等" << endl;
	}
	else cout << "两个立方体不完全相等" << endl;
}

总结

  • 利用全局函数和类的成员函数比较两个实例化对象的不同
  • 引用类作为函数的形参
  • 用const修饰传入的参数,在函数内部不可修改

相关文章:

  • 2025年渗透测试面试题总结-某美团-安全工程师实习(题目+回答)
  • MVVM、MVC、MVP 的区别
  • Python前缀和(例题:异或和,求和)
  • python中的变量 - 第一章
  • Linux第一节:Linux系统编程入门指南
  • 【参考资料 II】C 运算符大全:算术、关系、赋值、逻辑、条件、指针、符号、成员、按位、混合运算符
  • ctfshow WEB web签到题
  • 五种IO模型
  • 【JavaEE】Mybatis XML配置文件实现增删改查
  • 编程从键盘输入一个大写英文字符,将其转换为小写字符显示并显示出它的十进制,十六的 ASCI码。
  • Kubernetes集群中部署SonarQube服务
  • Gitee上库常用git命令
  • Babel 从入门到精通(四):@babel/template的应用实例与最佳实践
  • 【JavaEE】springMVC返回Http响应
  • 【负载均衡系列】Nginx
  • 【例6.5】活动选择(信息学奥赛一本通-1323)
  • 如何拆解模糊需求管理
  • 【C语言】自定义数据类型:联合体和枚举
  • Java Collection API增强功能系列之二 List.of、Set.of、Map.of
  • 《Python全栈开发》第12课:RESTful API设计 - 构建现代化接口
  • 聆听百年唐调正声:唐文治王蘧常吟诵传习的背后
  • 屈晓华履新四川省社科联党组书记,此前担任省国动办主任
  • 普雷沃斯特当选新一任天主教罗马教皇
  • 范志毅跨界归来做青训,探索中国足球人才培养新模式
  • 马上评|比余华与史铁生的友情更动人的是什么
  • 北约年度报告渲染所谓“中国核威胁”,国防部回应