C++学习笔记--概述

C++学习笔记--概述,第1张

文章目录
  • 关键词

  • 一、C++概述

    • 1.C++简介
    • 2.C++起源
    • 3.C++标准
    • 3.C++为什么会成功

  • 二、C++程序

    • 1.简单的c++程序
    • 2.面向过程:程序=数据结构+算法
    • 3.面向对象:程序 = 对象 + 对象 + …
  • 复习关键词


关键词

预编译指令,包含指令,标准命名空间,插入运算符,面向对象三大特性



一、C++概述 1.C++简介

c++是对C的扩展,是c语言的超集。



C++以C语言为基础并能兼容C语言。



任何有效c程序都是有效的c++程序。



c++程序也可以使用已有的c程序库。


2.C++起源

c++和c语言一样也是在贝尔实验室诞生的,Bjarne Stroustrup(本贾尼·斯特劳斯特卢普)在20世纪80年代在这里开发了这种语言。



Stroustrup关心的是让c++更有用。


Stroustrup之所以在c的基础上创建c++,是因为c语言简洁、适合系统编程、使用广泛且与UNIX *** 作系统联系紧密。


3.C++标准

1998年,制定出第一个国际标准。


它不仅描述了已有的c++特性,还对语言进行了扩展,添加了异常、运行阶段类型识别(RTTI)、模板和标准模板库(STL)。


这个标准就是我们经常所说的c++98。


2003年,发布了c++标准第二版(IOS/IEC 14882:2003),这一版本对第一版修订了一些错误,但并没有改变语言特性,因此c++98表示c++98/c++2003。


2011年,批准了新标准ISO/IEC 14882:2011,该标准被称为c++11,c++11也新增了许多特性。


此标准为现在所用标准。


3.C++为什么会成功

c++的出现并不是去替代c,而是对c的扩展,所以在c++中既可以使用c++新特性,并且可以使用c的过程式思维来编写程序。



对于传统的结构化语言,我们向来没有太多的疑惑,函数调用那么自然而明显,只是从程序的某一个地点调到另一个地点去执行。



但是对于面向对象(OOP)语言,我们疑惑就会很多。


其原因就是c++编译器为我们程序员做了太多隐藏的工作:构造函数,析构函数、虚函数、继承、多态…有时候它为我们合成出一些额外的函数,有时候它又偷偷在我们写的函数里,放进更多的 *** 作。


有时候也会给我们的对象里放进一些奇妙的东西,使得我们sizeof的时候结果可我们预期不一样。



二、C++程序 1.简单的c++程序

代码如下(示例):

#include
using namespace std;

int main()
{	
	cout << "hello world" << endl;
	return 0;
}

分析:

  • #include< iostream >; 预编译指令,引入头文件iostream。



    以“#”开头以与 C ++语句相区别,#include< iostream >,这不是 C++的语句,而是 C++的处理指令。



    include < iostream >是个“包含指令”,它的作用是将文件“ iostream ”的内容包含到该命令所在的程序文件中,代替该指令。



    文件 iostream 的作用是向程序提供输人或输出时所需要的一些信息。



    由于这类文件都放在程序单元的开头,所以称为“头文件( header file )。



    在程序进行编译时,先对所有的预处理命令进行处理,在进行整体编译。


  • using namespace std; 使用标准命名空间
    C++标准库中的类和函数是在命名空间 std 中声明的,因此程序中如果需要用到 C++标准库(此时需要用 #include 指令),
    就需要用“ using namespace std ;”作声明,表示要用到命名空间 sd 中的内容

  • 每一个 C++程序都必须有一个 main函数。



    main前面的int的作用是声明函数的类型为整型(标准 C++规定main函数必須声明为 int型,即此主函数返回一个整型的函数值)。


    return 0的作用是向 *** 作系统返回一个零值。


    如果程序不能正常执行,则会自动向 *** 作系统返回一个非零值,一般为-1

  • cout << “hello world”<< endl; 和printf功能一样,输出字符串”hello wrold”
    cout是c++中的标准输出流,endl是输出换行并刷新缓冲区。



    “ cout ”和”<<”实现输出的语句简称为 cout 语句 。


    实际上cout 是 C++系统定义的对象名,称为输出流对象。


    关于对象和输出流对象的概念将在后面详细介绍。



    “<<"是“插入运算符”,与 cout 配合使用,在本例中它的作用是将运算符“<<”右侧双撇号内的字符串插入到输出的队列 cout 中(输出的队列也称作“输出流"), C++系统将输出流 cout 的内容输出到系统指定的设备(一般为显示器)中。



    <<左移运算符重载实现拼接字符串的功能
    endl是输出换行并刷新缓冲区。


  • c++头文件为什么没有.h?

头文件类型约定示例说明
c++旧式风格以.h结尾iostream.hc++程序可用
c++新式风格无扩展名iostreamc++程序可用,使用namespace std
2.面向过程:程序=数据结构+算法

面向过程编程思想的核心:功能分解,自顶向下
通过分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。



程序=数据结构+算法

3.面向对象:程序 = 对象 + 对象 + …

面向对象编程思想的核心:应对变化,提高复用。



在面向对象中,算法与数据结构被看做是一个整体,称作对象,现实世界中任何类的对象都具有一定的属性和 *** 作,
也总能用数据结构与算法两者合一地来描述,所以可以用下面的等式来定义对象和程序:
对象 = 算法 + 数据结构
程序 = 对象 + 对象 + ……

面向对象三大特性

  1. 封装
    把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象 *** 作,对不可信的进行信息隐藏。



    类将成员变量和成员函数封装在类的内部,根据需要设置访问权限,通过成员函数管理内部状态。


  2. 继承
    继承所表达的是类之间相关的关系,这种关系使得对象可以继承另外一类对象的特征和能力。



    继承的作用:避免公用代码的重复开发,减少代码和数据冗余。


  3. 多态
    多态性可以简单地概括为“一个接口,多种方法”,字面意思为多种形态。


    程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。


复习关键词

预编译指令,包含指令,标准命名空间,插入运算符,面向对象三大特性

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/578233.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存