前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【C++】面向对象编程引入 ( 面向过程编程 | 查看 iostream 依赖 | 面向对象编程 )

【C++】面向对象编程引入 ( 面向过程编程 | 查看 iostream 依赖 | 面向对象编程 )

作者头像
韩曙亮
发布2023-10-15 16:19:45
2980
发布2023-10-15 16:19:45
举报

一、面向过程编程

给定 圆 的 半径 , 求该圆 的 周长 和 面积 ;

半径为

r

, 周长就是

2 \pi r

, 面积是

\pi r^2

;

使用 面向过程 的方法解决上述问题 , 只能是令程序顺序执行 , 如果要求多个圆的面积 , 则需要重复执行过程代码 ;

代码示例 :

代码语言:javascript
复制
// 包含 C++ 头文件
#include "iostream"

// 使用 std 标准命名空间
//		该命名空间中 , 定义了很多标准定义
using namespace std;

int main() 
{
	// 定义圆半径 , 周长 , 面积 对应的变量
	double r = 0, p = 0, a = 0;

	// 提示输入圆半径
	cout << "输入圆半径 :" << endl;

	// 从命令行标准输入得到的数据 到 变量 r 指示的内存空间中
	cin >> r;
	cout << "接收到圆半径 :"<< r << endl;

	// 计算圆周长
	p = 3.14159 * 2 * r;

	// 计算圆面积
	a = 3.14159 * r * r;

	// 打印计算结果
	cout << "圆周长为 :" << p << " 圆面积为 : " << a << endl;

	
	// 控制台暂停 , 按任意键继续向后执行
	system("pause");
}

执行结果 : 输入半径 10 , 计算出了对应的周长 和 面积 ;

代码语言:javascript
复制
输入圆半径 :
10
接收到圆半径 :10
圆周长为 :62.8318 圆面积为 : 314.159
Press any key to continue . . .
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、查看 iostream 依赖


在上个章节的代码中 , 使用了 cout 和 cin 两个标准流 ,

  • 将数据输出到 cout 标准输出流中 , 使用 cout << 输出内容 实现 ;
  • 将数据从 cin 标准输入流中读取到内存中, 使用 cin >> 内存空间 实现 ;

<< 是输出数据到输出流中 , >> 是输入数据到内存中 ;

记住的方法是 : 标准流 cin 和 cout 始终在 左边 , << 和 >> 是 数据的方向 ;

cin 和 cout 都定义在 iostream 中 , 可以在 Visual Studio 2019 的 解决方案资源管理器 中的 项目下的 " 外部依赖 " 中查看 iostream 标准流 定义 ;

在这里插入图片描述
在这里插入图片描述

双击 展开 " 外部依赖项 " , 可以查看 iostream 的完整代码 ;

在这里插入图片描述
在这里插入图片描述

三、面向对象编程


给定 圆 的 半径 , 求该圆 的 周长 和 面积 ;

半径为

r

, 周长就是

2 \pi r

, 面积是

\pi r^2

;

使用 面向对象 的 方式 , 解决上述问题 ;

  • 首相 , 将 事物 进行抽象 , 这里将 圆 定义为一个 数据类型 ;
  • 然后 , 在 圆 类型中 , 定义 成员属性 半径 , 周长 , 和 面积 ;
  • 最后 , 在 圆 类型中 , 定义两个 成员函数 , 分别根据 半径 求出 周长 和 面积 ;

代码示例 :

代码语言:javascript
复制
// 包含 C++ 头文件
#include "iostream"

// 使用 std 标准命名空间
//		该命名空间中 , 定义了很多标准定义
using namespace std;

class Circle
{
public:
	double r;	// 成员变量 半径
	double p;	// 成员变量 周长
	double a;	// 成员变量 面积

	// 成员方法 设置半径
	void setR(double r1) 
	{
		r = r1;
	}

	// 成员方法 计算圆周长和面积
	void caculate()
	{
		p = 3.14159 * r * 2;
		a = 3.14159 * r * r;
	}

	// 获取圆周长
	double getP()
	{
		return p;
	}

	// 获取圆面积
	double getA()
	{
		return a;
	}
private:
protected:
};


int main() 
{
	// 定义圆对象
	Circle c;
	double r;


	// 提示输入圆半径
	cout << "输入圆半径 :" << endl;

	// 从命令行标准输入得到的数据 到 变量 r 指示的内存空间中
	cin >> r;
	cout << "接收到圆半径 :"<< r << endl;

	// 给 圆 对象 c 设置半径
	c.setR(r);
	// 计算圆 周长 和 面积
	c.caculate();

	// 打印计算结果
	cout << "圆周长为 :" << c.getP() << " 圆面积为 : " << c.getA() << endl;

	
	// 控制台暂停 , 按任意键继续向后执行
	system("pause");
}

执行结果 :

代码语言:javascript
复制
输入圆半径 :
10
接收到圆半径 :10
圆周长为 :62.8318 圆面积为 : 314.159
Press any key to continue . . .
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在上述代码中 , 定义了 Circle 类 ,

代码语言:javascript
复制
class Circle
{
	...
}

此时 Circle 是一个数据类型 , 编译器并没有为其分配内存 ;

定义 Circle 对象 c 时 , 才为该 c 对象在 内存中分配内存 , 注意该内存是在 栈内存 中分配内存 ;

代码语言:javascript
复制
	// 定义圆对象
	Circle c;

如果定义 Circle *c 对象 , 则需要为其分配内存 , 该内存是在堆内存中的内存 ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、面向过程编程
  • 二、查看 iostream 依赖
  • 三、面向对象编程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档