c++使用面向过程(OPP)方法和面向对象(OOP)方法求圆形的面积

2023-10-19 05:38

本文主要是介绍c++使用面向过程(OPP)方法和面向对象(OOP)方法求圆形的面积,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

c++使用面向过程(OPP)方法和面向对象(OOP)方法求解圆形的面积

1、使用面向过程的方法求圆的面积

#include "iostream"using namespace std;
//输入圆的半径求圆的面积 s=3.14*r*r
//面向过程编程
void main()
{//声明成员标量r(半径)、s(圆的面积)double r = 0;double s = 0;//提示用户输入圆的半径rcout << "请输入圆的半径r:";//接收用户键盘输入r的值cin >> r;s = 3.14 * r * r;cout << "圆的面积为s = " << s << endl;system("pause");
}

运行结果:
运行结果
2、使用面向对象的方法求圆的面积

#include "iostream"using namespace std;class MyClass
{
public:double c_s; //圆的面积double c_r; //圆的半径public://将用户输入的圆半径r的值赋值给成员标量c_rvoid setR(double r){c_r = r;}//返回c_r的值double getR(){return c_r;}//返回圆的面积double getS() {c_s = 3.14 * c_r * c_r;return c_s;}
};//一个项目只能有一个main方法(程序入口)
void main()
{MyClass c1; //实例化对象double r;cout << "请输入c1圆的半径r:";cin >> r;//给c1圆的半径赋值c1.setR(r);//输入圆的面积cout << "圆的面积为s=" << c1.getS() << endl;system("pause");
}

运行结果
3、小结
面向过程编程:
将所有的业务需求都按流程进行编程、执行。
缺点:可重用性差、数据安全性差、不适合大型项目或图形界面应用。例如,当数据结构改变时,所有相关的处理过程都要进行相应的修改。维护成本高、团队协助效率低。
优点:有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。对于初学者容易理解。

面向对象编程:
整体分析业务需求,进行模块化编程。
缺点:性能相抵过程会稍低,对于初学者也相对来说比较难理解。
优点:代码易维护、复用和升级更新。并且可以通过面向对象的三大特性设计出优秀的项目体系结构(低耦合、高灵活的项目)。有效降低维护成本,提高开发效率等。

这篇关于c++使用面向过程(OPP)方法和面向对象(OOP)方法求圆形的面积的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/237671

相关文章

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

C#下Newtonsoft.Json的具体使用

《C#下Newtonsoft.Json的具体使用》Newtonsoft.Json是一个非常流行的C#JSON序列化和反序列化库,它可以方便地将C#对象转换为JSON格式,或者将JSON数据解析为C#对... 目录安装 Newtonsoft.json基本用法1. 序列化 C# 对象为 JSON2. 反序列化

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

504 Gateway Timeout网关超时的根源及完美解决方法

《504GatewayTimeout网关超时的根源及完美解决方法》在日常开发和运维过程中,504GatewayTimeout错误是常见的网络问题之一,尤其是在使用反向代理(如Nginx)或... 目录引言为什么会出现 504 错误?1. 探索 504 Gateway Timeout 错误的根源 1.1 后端

Python ORM神器之SQLAlchemy基本使用完全指南

《PythonORM神器之SQLAlchemy基本使用完全指南》SQLAlchemy是Python主流ORM框架,通过对象化方式简化数据库操作,支持多数据库,提供引擎、会话、模型等核心组件,实现事务... 目录一、什么是SQLAlchemy?二、安装SQLAlchemy三、核心概念1. Engine(引擎)

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

Java Kafka消费者实现过程

《JavaKafka消费者实现过程》Kafka消费者通过KafkaConsumer类实现,核心机制包括偏移量管理、消费者组协调、批量拉取消息及多线程处理,手动提交offset确保数据可靠性,自动提交... 目录基础KafkaConsumer类分析关键代码与核心算法2.1 订阅与分区分配2.2 拉取消息2.3

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象