C++学习之路(一)

第一章:C++语言概述

前言:这里学习C++教材是选用的清华大学出版社的《C++语言基础教程》第二版,该版本语言较为通俗易懂,概念清晰,便于理解。因为之前学习过C语言,因此在学习本书之际,也是抱着一遍复习c语言,一遍深入学习C++原理,重点将“指针”、“面向对象”、“类和对象”、“继承性和派生类”、“多态性和虚函数”等概念深入理解,并多做习题巩固,多上机编程,提升代码能力。

同时配套的慕课有:学堂在线平台 清华大学 郑莉教授 C++语言程序设计基础(2021秋)

在这里插入图片描述

1.1 C++语言是一种面向对象的程序设计语言

什么是面向对象?面向对象与面向过程有何区别?

首先,我们先了解对象的概念,对象是软件系统的基本构成单位,对象是对客观世界中实际存在的某种事物的抽象,即:描述客观事物的一个实体。对象是一组属性和一组行为的集合,属性用来描述对象的静态特性,用若干数据表示;行为则描述对象动态特性,用若干操作表示,即数据与操作的集合。

而面向对象总体来讲则是:运用一些新概念和新方法构造系统的软件开发方法,这些新概念包括对象、类、封装、聚合、继承、多态性等,这些也体现了面向对象的特点。

面向过程:即以过程为中心的编程思想,主要的特点是模块化编程,比如:小明起床去学校,可以分解为四步流程:(1)起床 (2)穿衣 (3)洗脸刷牙 (4)去学校

面向对象则是将每个元素抽象成对象,对象有自己的属性,关注对象的行为,而并非这个事件。

同时面向对象有多种新概念,新方法需要理解:
1.类:类是一种类型,是对具有相同属性对象的描述,类是创建对象的样板,包含着所创建对象的数据描述和操作定义,类是一种具有共同属性、行为的若干对象的统一描述体。
分类是其主要特点。
2.封装:即将对象的属性和行为结合为一个封装体,其中,属性由若干不同类型数据组成,对象的行为由若干操作组成。操作是通过函数实现,又称为方法。
3.聚合:聚合是类之间的一种包含关系,一个复杂类可以由若干简单的对象组成,其中的方法成为聚合。例如:描述一架飞机,可以将飞机拆分为机翼、机身、机尾、发动机等多干部位。
4.继承:是创建新类的一种方法,继承用来解决一般类和特殊类的关系,其中,特殊类具有一般类的属性和行为,并且它还有自己特殊的属性和行为,这时称特殊类是对一般类的继承。
在软件开发中,可将已经开发好的类存放到类库内,开发新系统时,便可直接使用或继承使用已有的类。继承可以减少冗余性,提高重用性。减少编程工作量,提高编程质量。
5.多态性:即一对多的状态,一个函数名或同一个运算符对应于不同的实现或功能。

综上所述:面向对象的方法归纳以下几点:
(1):将客观事物中抽象出的数据和方法构成一个集合体,便是对象。
(2):将相同类型中对象抽象出共性,形成类。类具有封装性和隐藏性。
(3):类是一个封装体,类中多数数据只能通过本类的方法进行处理,这些数据在类外不可见,无法访问。
(4):类是通过外部接口与外界进行发生关系,这些外部接口提供了类的行为。
(5):对象之间通过消息进行通信。

1.2 C++语言对面向对象程序设计方法的支持

1.C++支持数据封装
2.C++语言的类中包含私有、公有和保护成员
3.C++语言中通过发送消息处理对象
4.C++语言中允许友元破坏封装性
5.C++语言允许函数名和运算符重载
6.C++语言支持继承性
7.C++语言支持动态联编

C++语言与C语言差别在于:C++语言是面向对象,而C语言是面向过程,C++语言在对C语言改进的基础上,又增添了支持面向对象的新内容。

1.3 C++语言的词法和词法规则

1.C++语言字符集
2.单词及词法规则
(标识符、关键字、运算符、分隔符、常量、注释符)
在这里插入图片描述

在这里插入图片描述
注:存放在内存中的字符串常量最后有一个结束符,即空字符,它用转义序列方法表示:‘\0’

1.4 C++语言程序结构特点

与C语言结构有部分不同,例如提取符:“>>”,插入符:“<<”,输入输出:cin>>(变量1)>>(变量名2)…;
输出操作:cout<<(表达式1)<<(表达式2)…;

下面展示C++语言的一个示范程序:

#include<iostream>
#include<cstdlib>
int main()
{
	double x,y;
	std::cout<<"Enter two float numbers:";
	std::cin>>x>>y;
	double z=x+y;
	std::cout<<"x+y="<<z<<std::endl; 
	system("pause") ;
	return 0;
 } 

运行程序,输入7.2 9.3 换行得到结果:x+y=16.5
如下图:
在这里插入图片描述

注:编译软件为dev c++ 或 visual c++

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天道酬勤2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值