【C/C++】C语言和C++的区别 | 面向过程与面向对象

news2024/11/28 18:55:28

创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
🔥c++系列专栏:C/C++零基础到精通 🔥

给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ

在这里插入图片描述

c语言内容💖:

专栏:c语言之路重点知识整合

【c语言】全部知识点总结


目录

  • 一、C语言
  • 二、C++
  • 三、面向过程与面向对象
    • 面向过程
    • 面向对象
  • 封装、继承、多态

一、C语言

C语言采用了一种有序的编程方法——结构化编程

就是将一个大型程序分解为一个个小型的、易于编写模块,所有的模块有序的调动起来形成了一个程序的完整的运行链。
这种结构化编程反映出来过程性编程的思想,即C语言是一门面向过程的语言,更注重程序实现逻辑、怎么更好、更快、更直接的完成某功能

C语言是种面向过程编程的语言,在编写大型项目时,并不利于程序的复用性、扩展性,导致了在后期维护时带来了很多繁琐的工作,面临巨大挑战。

----》》

针对于此,OOP (Obiect-Oriented Programming)的概念诞生了,与结构化编程不同的是,OOP更注重数据,让语言来满足问题的需求,设计出与问题本质特性相对应的数据格式。

它与结构化编程不同,强调数据的重要性,并设计相应的数据格式来解决问题。
OOP的编程思想是将问题看作是由许多相互关联的对象组成的
每个对象拥有自己的属性和行为,可以与其他对象交互完成任务

C语言作为一门古老但经典的编程语言,拥有简洁、高效、底层等优秀特性

虽然不如C++那么具有面向对象编程的特性,但在许多领域仍然扮演着重要的角色,是必须掌握的基础知识之一。
在这里插入图片描述

OOD (Object-Oriented Design) :面向对象的设计

OOA (Object-Oriented Analysis): 面向对象的分析


二、C++

C++ 是一门面向对象编程的语言,把问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为,更注重的是程序的整体设计

方便程序后期维护、优化和管理,让一个功能尽可能的通用。

面向对象编程只有一个价值:应对需求的变化,本意是要处理大型复杂系统的设计和实现

OOP语言提供了构建对象的机制,将问题分解为可的部分,从而更好地满足问题的需求。


关于C++的用途

  • C++是一门强类型语言,需要进行显式类型声明并支持运算符重载、多态等高级特性;

  • C++支持指针和引用,灵活处理内存管理和数据传递

  • C++具有较好的可移植性和跨平台性,可以编写高效的系统和底层代码

  • C++广泛应用于游戏开发、图形界面设计、嵌入式系统、科学计算、金融工程等领域

  • C++也是许多大型软件系统和框架的基础语言,如OpenGL、Qt、Boost等

在这里插入图片描述


三、面向过程与面向对象

面向过程和面向对象,其本质还是在其设计思想上的区别!

面向过程

优点性能比面向对象高,比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。

缺点:没有面向对象易维护、易复用、易扩展

在这里插入图片描述
面向对象的优缺点与面向过程相对

面向对象

优点易维护、易复用、易扩展,由于面向对象有封装、继承、多态的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护

缺点:因为类调用时需要实例化,开销比较大,比较消耗资源,性能比面向过程低。

在这里插入图片描述


C++是由C衍生出来的一门语言,不但兼容包含了C语言还增加了一些新特性:函数重载,类、继承、多态,支持泛型编程 (模板函数、模板类),强大的STL库等…

封装、继承、多态

面向对象的三大特性:封装、继承、多态

封装

通过将数据和方法存储在类中,隐藏了实现细节,使得代码更加清晰和安全

继承

允许通过继承基类,从而建立更丰富的类层次结构和代码复用机制

多态

使用基类指针或引用来调用派生类方法,实现运行时的动态绑定和更好的可扩展性

**STL(标准模板库)**提供了泛型算法和数据结构,大大提升了C++语言的表达能力和灵活性。


在这里插入图片描述

大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AI处理器】TDA4VE88TGAALZRQ1、TDA4VL21HGAALZRQ1 Automotive 智能视觉摄像头应用

TDA4VE/TDA4VL SoC处理器基于演进Jacinto™ 7架构&#xff0c;面向智能视觉摄像头应用。这些器件基于TI过去十年在视觉处理器市场积累的广泛市场知识。DA4AL为传统和深度学习算法提供高性能计算&#xff0c;具有业界领先的功率/性能比&#xff0c;系统集成度高&#xff0c;可为…

信创办公–基于WPS的PPT最佳实践系列 (自定义版式)

信创办公–基于WPS的PPT最佳实践系列 &#xff08;自定义版式&#xff09; 目录 应用背景相关知识操作步骤 应用背景 在PPT幻灯片当中&#xff0c;拥有11种版式&#xff0c;我们可以在任何一个页面当中单击鼠标右键&#xff0c;选中【版式】功能即可看到这11种版式&#xff0c…

pmp主流培训机构推荐,pmp培训机构哪个好?

PMP 机构选择也是我报名的时候最头疼的一个问题&#xff0c;做 PMP 培训的机构太多了&#xff0c;各执一词&#xff0c;各机构互踩的人也很多&#xff0c;看的眼花缭乱叫人头大。 下面这篇文章把几个机构的优劣都写出来了&#xff0c;比较清晰和中肯&#xff0c;个人觉得可以参…

Linux Kernel RTC驱动使用hwclock调试

hwclock hwclock的源码路径&#xff1a;sys-utils/hwclock.c 源码&#xff1a; if (opt & HWCLOCK_OPT_HCTOSYS)to_sys_clock(&rtcname, utc);else if (opt & HWCLOCK_OPT_SYSTOHC)from_sys_clock(&rtcname, utc);else if (opt & HWCLOCK_OPT_SYSTZ)set_…

可加模型的一个简单示例

Additive Models to avoid the curse of dimensionality and for better interpretability we assume m ( x ) E ( Y ∣ X x ) c ∑ j 1 d g j ( x j ) m(\boldsymbol{x})E(Y|\boldsymbol{X}\boldsymbol{x})c\sum_{j1}^dg_j(x_j) m(x)E(Y∣Xx)cj1∑d​gj​(xj​) ⟹ \L…

高压放大器和示波器的关系是什么

高压放大器和示波器是电子工程领域中常见的两种设备&#xff0c;它们在实际的电路设计、测试和分析中都扮演着重要的角色。下面安泰电子将从定义、功能、应用场景等方面为您介绍高压放大器和示波器的关系。 图&#xff1a;ATA-7000系列高压放大器 一、高压放大器的定义及功能 高…

【软件测试】软件测试理论总结笔记(一)

软件测试理论总结 1.Introduction1.1 What is Software Bug1.3 Tester的职责和目标其他概念 2.软件开发生命周期Software Development ProcessSoftware Development Lifecycle Models2.1 TDD - Test-Driven Development测试驱动开发&#xff08;一种敏捷开发&#xff09;Softwa…

Chrome浏览器无痕浏览真的无痕吗?

当您启用无痕浏览后&#xff0c;设备的其他用户将不会看到您的历史记录。 Chrome 不会保存您的浏览记录或您在表单中填写的信息。当您浏览时&#xff0c;Chrome 会记住相应的 Cookie 和网站数据&#xff0c;但当您退出无痕模式时&#xff0c;Chrome 会删除这些数据。您可在打开…

【Android】Binder(一)Binder的介绍和AIDL使用Binder的实例

Binder介绍 Android 中的 Binder 是一个进程间通信机制&#xff0c;它允许不同进程之间相互调用方法和传递数据。Binder 主要用于实现系统服务和应用程序之间的通信&#xff0c;以及实现 IPC&#xff08;Inter-Process Communication&#xff0c;进程间通信&#xff09;。 Bi…

陪诊APP小程序开发 陪伴就医告别孤独

生活工作忙碌&#xff0c;很多情况下父母或者其他亲人需要去医院的时候没办法陪同&#xff0c;让其单独去又不放心成为令很多人苦恼的问题。随着移动互联网的深入到我们生活的方方面面&#xff0c;医疗行业也出现了很多陪诊服务APP小程序系统软件&#xff0c;让孤独就医者有人陪…

Android H5拉起安卓原生方案的介绍与实战(六一篇)

一、介绍 今天是6.1儿童节&#xff0c;祝大家儿童节快乐。 言归正传&#xff0c;开始介绍H5拉起原生。如今&#xff0c;在APP应用中&#xff0c;消息大多数采用推送方式比较多&#xff0c;到达率很低或者说无法满足业务的需求。在一些大型活动中&#xff0c;依然需要短信的参与…

网络安全:SQL 注入漏洞

一、漏洞描述 WordPress是一个用PHP编写的免费开源内容管理系统&#xff0c;由于clean_query函数的校验不当&#xff0c;导致了可能通过插件或主题以某种方式从而触发SQL注入的情况。这已经在WordPress5.8.3中进行了修复。影响版本可以追溯到3.7.37。 二、漏洞分析 在分析整…

平台使用篇 | 批处理(bat)脚本使用教程(四)

导读 一个开启多机软件在环仿真的批处理文件 (对应卓面RflyTools文件夹中SITLRun快捷方式)&#xff0c;双击它&#xff0c;输入想要生成的飞机数量&#xff0c;即可生成多机软件在环仿真&#xff0c;等待RflySim3D显示3DFixed 4/4&#xff0c;然后可通过QGC控制飞机起飞。运行…

Unity API详解——Time类

Time类是Unity中获取时间信息的接口类&#xff0c;只有静态属性。本博客介绍Time类的一些静态属性。 一、Time类静态属性 在Time类中&#xff0c;涉及的静态属性有realtimeSinceStartup、smoothDeltaTime和time属性&#xff0c;在介绍time属性时涉及了Time类的多个其他属性的…

学姐生日快到了~这不得用Python把她的照片做成视频当礼物送给她....

前言 这不是学姐生日快到了&#xff0c;于是我学了一手Python~ 来把学姐的照片生成为视频&#xff0c;到时候给她一个惊喜&#xff01; 好了先不说了&#xff0c;下面分享一下用python代码 实现多张图片合成MP4视频为实例&#xff0c;做下详细代码讲解。 一、需要调入的模块…

设计模式之~迭代器模式

迭代器模式&#xff1a; 迭代器&#xff08;Iterator&#xff09;模式&#xff0c;又叫做游标&#xff08;Cursor&#xff09;模式。GOF 给出的定义为&#xff1a;提供一种方法顺序访问一个容器&#xff08;container&#xff09;对象中各个元素&#xff0c;而又不需暴露该对象…

数据库DBMS并发控制(1)

pgsql&#xff08;PostgreSQL&#xff09;常用命令行操作_pgsql常用命令_石头wang的博客-CSDN博客 重要&#xff1a;事务的操作和事务的性质 操作演示 四种典型数据不一致现象: 串行调度和可串行调度 串行调度 顾名思义 就是可以进行调度的意思 可串行调度 就是 一种和串行…

C Primer Plus第十六章编程练习答案

学完C语言之后&#xff0c;我就去阅读《C Primer Plus》这本经典的C语言书籍&#xff0c;对每一章的编程练习题都做了相关的解答&#xff0c;仅仅代表着我个人的解答思路&#xff0c;如有错误&#xff0c;请各位大佬帮忙点出&#xff01; 由于使用的是命令行参数常用于linux系…

常见的ACL攻击方式,集权设施如何防御攻击?

本文主要介绍了 WindowsAD域中基于访问控制列表&#xff08;ACL&#xff09;的攻击&#xff0c;在AD域的攻击手法中&#xff0c;基于ACL的攻击由于理解起来比较困难&#xff0c;现有的安全设备也很少有对ACL的监控&#xff0c;这种类型的攻击通常会被安全人员所忽视。 1.什么是…