c++的介绍

c++的来源:

C++在C语言的基础上发展而来 “C with class”阶段,c语言基础上添加:类与派生、公有私 有、构造析构、运算符重载等等语法特点 1985年,添加:虚函数、引用、函数和运算符重载等 等 1989年,添加:类的保护成员、多重继承、对象初始化、抽象类、静态成员函数等等 1998 年,C++语言标准化:名字空间、标准模板库、字符串类型等等,叫做ANSI C++ c++98 2011 年,国际标准化组织发布新的C++标准,简称 IOS C++11

c++与c语言的部分区别:

在C++的语法中包含C语言的语法,然后在额外添加了部分语法特性 : 1. C++的文件名及扩展结构 C++程序文件的后缀名:.cpp(通常选用)、.cxx、.cc C++程序头文 件的后缀名:.hpp、.h,但是如果是C++标准库的头文件,没有后缀名 2. C++程序的入口 在C++程序中,程序的执行位置还是main函数,程序的执行就是main函数 开始一直到main函数结束 源文件:.cpp 程序的执行代码,包含:变量定义、函数定义、函数调用、各种运算等各种操作 头文件:.h 函数的声明、结构体的声明等等 3. C++程序编译 跟c编译过程类似 1、预处理:把以#开始的内容进行预处理,把注释删除 2、 编译:把C++代码变为汇编代码 3、汇编:把汇编代码翻译为二进制(机器语言) 4、链 接:把多个二进制文件链接在一起,生成可执行程序 g++ 文件1 文件2 文件3 -o 程序名 4. 强制类型转换 C形式:(类型)值--------------------把值强制转换为对应类型 C++形式:类型 (值)-----------------把值强制转换为对应类型 int main(int argc,char *argv[]) { xxxx return 0; } 5. 函数重载 在C++中,允许函数的名字相同,但是参数列表的类型不同,这时在调用时才能 区别到不同的函数,达到函数同名目的,这种就叫做函数重载 函数重载:函数名相同,参 数的个数,类型不同 允许多个同名函数存在: 6. 内联函数 当函数设计为内联函数时,则调用函数,就表示在调用位置把函数直接展开,在 调用位置直接执行函数中的代码,不进行调用执行

7. 函数的默认参数 在C++中,定义函数时,函数的参数可以有一个初始值,叫做默认值,允 许在调用时可以不用传递这个参数的参数值直接使用参数的默认值,在添加默认值时,必须 从最后一个参数往前添加

8. 引用 对当前已经存在的变量取别名,操作引用变量就是操作原变量 定义应用: 类型 & 引用 名字 = 变量名;-----对变量取别名,名字叫做引用名

c++的特性:

  1. 类与对象

C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。

类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。定义一个类,本质上是定义一个数据类型的蓝图。这实际上并没有定义任何数据,但它定义了类的名称意味着什么,也就是说,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。

类定义是以关键字 class 开头,后跟类的名称。类的主体是包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表。例如,我们使用关键字 class 定义 Box 数据类型,如下所示:

class Box{ public:

double length; // 盒子的长度

double breadth; // 盒子的宽度

double height; // 盒子的高度};

关键字 public 确定了类成员的访问属性。在类对象作用域内,公共成员在类的外部是可访问的。您也可以指定类的成员为 privateprotected,这个我们稍后会进行讲解。

  1. 封装继承多态

C++是基于面向对象的程序,面向对象有三大特性即:封装、继承、多态。

C++通过类,将一个对象的属性与行为结合在一起,使其更符合人们对于一件事物的认知,将属于该对象的所有东西打包在一起;通过访问限定符选择性的将其部分功能开放出来与其他对象进行交互,而对于对象内部的一些实现细节,外部用户不需要知道。

封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。

继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特

性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。

虚函数: 有时候,希望子类和父类有相同的方法,但是行为却有所不同,可以根据地址的对象 不同可以调用父类或子类的行为不同的方法,就引入虚函数的概念。虚函数就是用 virtual 修饰 的成员函数。 在C++中 虚函数的作用就是实现多态性,按字面意思就是”多种状态“,简单概括 为”一个接口,多个方法“,程序运行时才决定调用的函数是谁 多态性是将接口与实现进行分离, 就是 实现以共同的方法,但因个体差异,而采用不同的策略

  1. 异常处理

异常处理是C++的一项语言机制,用于在程序中处理异常事件。. 异常事件在C++中表示为 异常对象 。. 异常事件发生时,程序使用throw关键字抛出异常表达式,抛出点称为异常出现点,由操作系统为程序设置当前异常对象,然后执行程序的当前异常处理代码块,在包含了异常出现点的最内层的 try 块,依次匹配catch语句中的异常对象(只进行类型匹配,catch参数有时在catch语句中并不会使用到)。. 若匹配成功,则执行catch块内的异常处理语句,然后接着执行 try...catch... 块之后的代码

  1. 转换函数

转换函数(conversion function)是一种特殊类型的类成员函数。它定义了一个由用户定义的转换,以便把一个类对象转换成某种其他的类型。

在类的声明中,通过指定关键字operator,并在其后加上转换的目标类型后,我们就可以声明转换函数。

  1. STL

模板 c++中模板是支持参数化多态的工具,就是让函数或类声明为一种通用类型,使得类中 或函数中的某些数据成员或函数的参数,返回值在实际使用时可以是任意类型。模板也是泛型编 程的基础 模板是一种对类型进行参数化的工具。 注意:模板的声明或定义只能在全局,不能是在局部范围 try { //检查方式执行语句 if(错误) { throw 异常 } }catch(异常类型) { 进行异常处理的语句 } int val = 97; char ch; ch = char(val);//ch = (char)val 函数模板: 函数模板是针对在函数中参数类型不同,是一种通用 语法格式: template<模板参 数1(参数类型 参数变量名),模板参数2,.......> 返回类型 函数名(参数列表) { 函数体,函数功能 } 函数模板的使用: 函数名<模板实参>(函数实参); 类模板: 语法格式: template<模板参数1(参数类型 参数变量名),模板参数2,.......> class 类名 { 类的声明内容 }; 类模板的使用: 类名<模板参数> 对象名(构造函数参数);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值