【C++】面向对象编程引入 ( 面向过程编程 | 查看 iostream 依赖 | 面向对象编程 )
  K1I6GvxBEuyy 2023年11月02日 97 0



文章目录

  • 一、面向过程编程
  • 二、查看 iostream 依赖
  • 三、面向对象编程







一、面向过程编程



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

半径为 【C++】面向对象编程引入 ( 面向过程编程 | 查看 iostream 依赖 | 面向对象编程 )_原力计划 , 周长就是 【C++】面向对象编程引入 ( 面向过程编程 | 查看 iostream 依赖 | 面向对象编程 )_ios_02 , 面积是 【C++】面向对象编程引入 ( 面向过程编程 | 查看 iostream 依赖 | 面向对象编程 )_开发语言_03



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



代码示例 :

// 包含 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 , 计算出了对应的周长 和 面积 ;

输入圆半径 :
10
接收到圆半径 :10
圆周长为 :62.8318 圆面积为 : 314.159
Press any key to continue . . .

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

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






二、查看 iostream 依赖



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

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

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

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



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

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


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

【C++】面向对象编程引入 ( 面向过程编程 | 查看 iostream 依赖 | 面向对象编程 )_原力计划_07






三、面向对象编程



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

半径为 【C++】面向对象编程引入 ( 面向过程编程 | 查看 iostream 依赖 | 面向对象编程 )_原力计划 , 周长就是 【C++】面向对象编程引入 ( 面向过程编程 | 查看 iostream 依赖 | 面向对象编程 )_ios_02 , 面积是 【C++】面向对象编程引入 ( 面向过程编程 | 查看 iostream 依赖 | 面向对象编程 )_开发语言_03



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

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


代码示例 :

// 包含 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");
}

执行结果 :

输入圆半径 :
10
接收到圆半径 :10
圆周长为 :62.8318 圆面积为 : 314.159
Press any key to continue . . .

【C++】面向对象编程引入 ( 面向过程编程 | 查看 iostream 依赖 | 面向对象编程 )_开发语言_11


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


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

class Circle
{
	...
}

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

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

// 定义圆对象
	Circle c;

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


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
K1I6GvxBEuyy
作者其他文章 更多