C++基础篇(3)——从面向过程到面向对象

本文探讨了C++语言如何从面向过程的结构体逐步演进到面向对象的类,详细解析了C++中结构体与类的区别,以及类的三大特性:封装、继承和多态。并通过string类和complex对象的实例展示了面向对象的设计思想。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言:

              目前,软件行业还在使用的软件开发核心思想包括面向过程和面向对象,今天我们来研究一下融合俩种思想的强大语言——C++。

概述:

               C++作为一种融合俩种软件开发思想的混合型语言,那么肯定存在一个由面向过程过渡到面向对象的过程经历,同时我们也简单对俩种思想做一个比较。

内容:

              一 从结构体到类

              1 结构的演化
                     (1)C语言和C++结构体的区别:
                                      1)定义形式:
                                               C语言:struct 结构名
                                               {
                                                      类型 变量名
                                                 }
                                       2)结构体成员不同:C语言的结构体不可以定义函数,C++的结构对象可以定义函数,称之为成员函数。
                                        3)使用原理不同:  
                        (2)C++结构体特点
                                       1)函数与数据共存:struct 结构名 { 
                                                                                    数据成员      //可以像C语言中结构体变量使用数据成员那样,通过C++结构对象使用成员函数:结构对象.成员函数
                                                                                    成员函数  
                                                                            };
                                       2)封装性:私有的数据成员,必须通过公有的成员函数才能使用。
                         (3)构造函数初始化对象。
                                            构造函数名 对象名 (初始化参数);
           2 结构体到简单类
                          (1) 使用关键字class代替struct,就是一个标准的类;
                          (2) 同时成员变量中加入了成员函数。
       二 面向对象
           1 基础知识点
                          (1) C++描述对象的三要素:对象名、属性和操作。
                          (2) 属性:描述对象静态特征的一个数据项;
                          (3) 操作:描述对象动态特征的函数序列(使用函数实现操作),也称为方法或服务。 
              2 三大特点(封装、继承、多态)
                        (1)封装:把对象的属性和操作集合成一个独立的系统单元,并尽可能隐蔽对象的内部细节。                             
                                             对象内部数据结构的不可访问性称之为信息(数据)隐藏。
                                             好处:使得程序员在设计程序时可以专注于自己的对象;切断了不同模块之间数据的非法使用,减少了出错的可能性。
                                             在类中,封装是通过存取权限实现的。
                        (2)继承:一个类获得另外一个类的特性。低层的类只须定义它自己的特征,而共享高层的类中的特征。
                        (3)多态性:不同的对象可以调用相同名称的函数,实现完全不同的行为。
           3 类和对象的使用
                        (1)string类:描述字符串特性
                                      1)使用之前包含头文件:#include  <string>
                                      2)俩种string类对象初始化方式:string str1 ("We are here! ");    str2 = " where are you?";
                         (2)complex对象:定义复数对象。
                                       1)使用之前包含头文件:#include <complex>
                                       2)定义使用:complex <数据类型>    对象名 (实部值,虚部值);
                                       3)复数类需要俩个初始值:实部和虚部,借助构造函数初始化语法来实现多值处理。
                                       4)complex是一个模板类,可以定义多种数据类型的复数。
                         (3)模板类和类的区别:类是抽象出一类物质的共同特征;模板则是归纳出不同类型事物的共同操作。
     三 面向过程和面向对象:
         1 面向过程:
                        (1)概念:不必了解计算机的内部逻辑,而把精力主要集中在对如何求解问题的算法逻辑和过程的描述上,通过编写程序把解决问题到步骤告诉计算机。
                        (2)特点:按部就班地解决,而且条理清晰易懂。
                                             程序设计特点就是函数设计,函数是模块的基本单位,是处理问题的一种抽象。
                                             结构化程序设计使用的是功能抽象。
          2 面向对象:
                        (1)特点:面向对象程序设计不仅能进行功能抽象,而且能进行数据抽象。“对象”实际上是功能抽象和数据抽象的统一。
                                             面向对象的程序设计方法不是以函数过程和数据结构为中心,而是以对象代表求解问题的中心环节。

总结:

               C++是介于C语言和C#俩种语言之间的混合型语言,C++其实可以解决很多单种思想类型语言解决不了的问题,例如C语言的驱动程序开发,以及java的多重继承等。C++保留了C语言的指针,但也引入了C#的类和对象,所以它是很强大。

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值