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

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

实战二

Cube.h

cpp 复制代码
#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

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

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修饰传入的参数,在函数内部不可修改
相关推荐
UestcXiye41 分钟前
《TCP/IP网络编程》学习笔记 | Chapter 21:异步通知 I/O 模型
c++·计算机网络·ip·tcp
LJTYBQ42 分钟前
轻松认识 SQL 关键字,打开数据库操作大门
数据库·笔记·sql
Blossom.1181 小时前
基于Python的机器学习入门指南
开发语言·人工智能·经验分享·python·其他·机器学习·个人开发
郝YH是人间理想2 小时前
Python面向对象
开发语言·python·面向对象
大土豆的bug记录4 小时前
鸿蒙进行视频上传,使用 request.uploadFile方法
开发语言·前端·华为·arkts·鸿蒙·arkui
大小胖虎4 小时前
数据结构——第六章:图
数据结构·笔记··最小生成树·拓扑排序·最短路径
hhw1991126 小时前
c#知识点补充3
开发语言·c#
Antonio9156 小时前
【Q&A】观察者模式在QT有哪些应用?
开发语言·qt·观察者模式
Pandaconda6 小时前
【后端开发面试题】每日 3 题(二十)
开发语言·分布式·后端·面试·消息队列·熔断·服务限流
mqwguardain6 小时前
python常见反爬思路详解
开发语言·python