《Visual C++ 开发从入门到精通》——第2章 C++的基本语法2.1 面向对象

简介:

本节书摘来自异步社区出版社《Visual C++ 开发从入门到精通》一书中的第2章,第2.1节,作者: 王东华 , 李樱,更多章节内容可以访问云栖社区“异步社区”公众号查看。

第2章 C++的基本语法

Visual C++ 开发从入门到精通
学习Visual C++ 6.0开发知识,需要具备C++语言的基本知识,特别是语法知识。C++是继C语言之后的又一门受程序员欢迎的编程语言,它不但是C的加强版,而且吸取了传统汇编语言的优点,开创了全新的面向对象语言世界。从此,软件领域彻底进入面向对象时代。由此可以看出,C++的最重要特征是:面向对象。语法是任何一门编程语言的基础,一个程序员只有在掌握了语法知识后,才能根据语法规则编写出项目需要的代码。本章将详细介绍C++语言的基本语法知识。

本章内容
面向对象
分析C++的程序结构
必须遵循的编码规范
输入/输出基础
标识符
数据类型
变量
常量
技术解惑
C++标识符的长度
字符和字符串的区别
C++字符串和C字符串的转换
C++字符串和字符串结束标志
C++中的面向对象、C中的面向过程的含义
面向对象和面向过程的区别
C++中常量的命名
在C++程序中如何定义常量
使用关键字const的注意事项
关于全局变量的初始化,C语言和C++是否有区别
C/C++变量在内存中的分布
静态变量的初始化顺序

2.1 面向对象

知识点讲解:光盘视频PPT讲解(知识点)第2章面向对象.mp4

面向对象程序设计即OOP,是Object-Oriented Programming的缩写。由于很多原因,国内大部分程序设计人员并没有很深的OOP理论,很多人从一开始学习到工作很多年都只是接触到C/C++、Java、Visual Basic等静态类型语言,而对纯粹的OOP思想及动态类型语言知之甚少,不知道世界上还有一些可以针对变量不绑定类型的编程语言。本节将简要讲解面向对象技术的基本知识。

2.1.1 什么是OOP

OOP的许多思想都来自Simula语言,并在Smalltalk语言的完善和标准化过程中得到更多的扩展和重新注解。与函数式程序设计(Functional-programming)和逻辑式程序设计(Logic-programming)所代表的接近于机器的实际计算模型不同的是,OOP几乎没有引入精确的数学描述,而是倾向于建立一个对象模型,该模型能够近似反映应用领域内实体之间的关系,它近似一种人类认知事物所采用的哲学观的计算模型。

对象的产生通常基于两种基本方式:以原型对象为基础产生新对象和以类为基础产生新对象。

1.基于原型
原型模型本身就是通过提供一个有代表性的对象来产生各种新的对象,并由此继续产生更符合实际应用的对象。而原型-委托也是OOP中的对象抽象,是代码共享机制中的一种。

2.基于类
一个类提供了一个或多个对象的通用性描述。从形式化的观点看,类与类型有关,因此,一个类相当于从该类产生的实例的集合。在类模型基础上还诞生了一种拥有元类的新对象模型,即类本身也是一种其他类的对象。

2.1.2 面向对象编程

面向对象编程是C++编程的指导思想。使用C++进行编程时,应该首先利用对象建模技术来分析目标问题,抽象出相关对象的共性,对它们进行分类,并分析各类之间的关系;然后用类来描述同一类对象,归纳出类之间的关系。Coad和Yourdon在对象建模技术、面向对象编程和知识库系统的基础上设计了一整套面向对象的方法,具体来说,分为面向对象分析(OOA)和面向对象设计(OOD)。对象建模技术、面向对象分析和面向对象设计共同构成了系统设计的过程,如图2-1所示。


457a1953167cf9db227c8fb45c52e4fe21fe25b4

图2-1 系统设计处理流程

相关文章
|
16天前
|
机器学习/深度学习 算法 算法框架/工具
为什么使用C++进行机器学习开发
C++作为一种高性能语言,在某些性能要求极高或资源受限的场景下也具有非常重要的地位。C++的高效性和对底层硬件的控制能力,使其在大规模机器学习系统中发挥重要作用,尤其是当需要处理大数据或实时响应的系统时。
31 3
|
6天前
|
Java C# C++
C++ 11新特性之语法甜点1
C++ 11新特性之语法甜点1
18 4
|
6天前
|
编译器 C++ 容器
C++ 11新特性之语法甜点2
C++ 11新特性之语法甜点2
14 1
|
8天前
|
C++ 内存技术
[转]Visual C++内嵌swf文件并播放
[转]Visual C++内嵌swf文件并播放
|
11天前
|
存储 安全 编译器
【C++核心】一文理解C++面向对象(超级详细!)
这篇文章详细讲解了C++面向对象的核心概念,包括类和对象、封装、继承、多态等。
12 2
|
11天前
|
物联网 C# C语言
物联网开发中C、C++和C#哪个更好用
在物联网(IoT)开发中,C、C++和C#各有优缺点,适用场景不同。C语言性能高、资源占用低,适合内存和计算能力有限的嵌入式系统,但开发复杂度高,易出错。C++支持面向对象编程,性能优秀,适用于复杂应用,但学习曲线陡峭,编译时间长。C#易于学习,与.NET框架结合紧密,适合快速开发Windows应用,但性能略低,平台支持有限。选择语言需根据具体项目需求、复杂性和团队技术栈综合考虑。
|
16天前
|
Java Android开发 C++
🚀Android NDK开发实战!Java与C++混合编程,打造极致性能体验!📊
在Android应用开发中,追求卓越性能是不变的主题。本文介绍如何利用Android NDK(Native Development Kit)结合Java与C++进行混合编程,提升应用性能。从环境搭建到JNI接口设计,再到实战示例,全面展示NDK的优势与应用技巧,助你打造高性能应用。通过具体案例,如计算斐波那契数列,详细讲解Java与C++的协作流程,帮助开发者掌握NDK开发精髓,实现高效计算与硬件交互。
58 1
|
2月前
|
安全 编译器 C++
Microsoft Visual C++ Redistributable的作用主要体现以及可以删除吗?
这些是Microsoft Visual C++不同版本的Redistributable安装包,用于32位系统,确保相关应用正常运行。它们提供C++运行时环境,简化部署流程,支持第三方库及框架,并确保应用兼容性。定期更新可修复问题并引入新功能。在空间有限或需解决程序冲突时可考虑删除,但需谨慎操作以防影响应用稳定性和兼容性。删除前请确认无应用依赖,并通过控制面板安全卸载。
84 1
Microsoft Visual C++ Redistributable的作用主要体现以及可以删除吗?
|
6天前
|
存储 算法 编译器
C++ 11新特性之语法甜点4
C++ 11新特性之语法甜点4
11 0
|
6天前
|
安全 C++ 容器
C++ 11新特性之语法甜点3
C++ 11新特性之语法甜点3
16 0
下一篇
无影云桌面