C++基础

C++与C的关系与区别:

        1.在C语言中引入了面向对象的思想

        2.是一种混合型的语言,同时支持结构化程序设计和面向对象程序设计方法

        3.向下兼容C语言,可不加修改地使用C语言代码

        4.允许数据抽象,支持封装、继承和多态等特征

面向过程:每一步都是自己实现、执行的

        例如:买菜->洗菜->切菜->炒菜->吃->洗碗

面向对象:多个对象之间的操作

        例如:用户->下单->老板->厨师->外卖小哥->用户->取餐->吃

C++的标准库:

        1、直接使用标准C中所有库,如以下是常用的标准C函数库头文件:

                        stdio.h   ==>> iostream

                        stdlib.h

                        string.h

                        ctype.h

        2、C++编译器都提供有完整的标准库

        3、C++标准库中的几乎所有内容都是在命名空间std中定义的-->standerd

        4、使用C++标准库将获得非常多的功能

C语言关键字有32个、C++有74个关键字

C++中的数据类型

C++中增加的作用域标识符 ::

        用于对与局部变量同名的全局变量进行访问

        用于表示类的成员,这将在关于类的一节中详细说明

        st1 : : myprint( )或 st1 : : i

        使用命名空间名+域运算符就可以调用命名空间内的函数或变量

动态分配内存:

        静态分配内存:在编译时确定了固定的内存地址与内存大小,如:函数里的局部变量、全局变量等

        动态分配内存:由程序控制,运行时主动性的向系统申请所需大小的内存段,并且每次分配到的内存地址不固定

C++ 可以使用malloc、realloc、calloc和free函数实现,也可以使用运算符new和delete实现

Malloc出来的要用free释放    new出来的空间使用delete释放

new运算符:

        new 运算符 可以用于创建堆空间

        创建成功返回首地址,失败返回NULL

        语法:

                指针变量=new 数据类型;

                指针变量=new 数据类型[长度];

        例如:

                int *p; p=new int;

                char *pStr=new char[50];

delete运算符:

        delete运算符 可以用于释放堆空间

语法:

      delete 指针变量;

      delete [ ] 指针变量;-->释放开辟的数组需要加[ ]

例如:

      delete p;

      delete [ ] pStr;       

数重载:函数名相同,参数列表不同,体现在参数的数量,类型,顺序上

C++允许用相同的函数名来定义一组功能相同或类似的函数,程序的可读性增强

函数重载又称为函数的多态性

函数重载不同形式:

        形参数量不同

        形参类型不同

        形参的顺序不同

        形参数量和形参类型都不同

调用重载函数时,编译器通过检查实际参数的个数、类型和顺序来确定相应的被调用函数

        在编译时就确定了要调用的函数--->静态绑定

引用类型

        引用是一种特殊的变量,可以认为是一个变量的别名

定义引用的一般格式:

                类型说明符  &引用名 = 变量名;

例如:int a=1;

                int  &b=a;

// b是a的别名,因此a和b是同一个单元

注意:定义引用时一定要初始化,指明该引用变量是谁的别名

对数组只能引用数组元素,不能引用数组(数组名本身为地址)。

不能定义引用的引用(引用也是地址),所以当函数的参数为引用时,引用不能作实参。

按引用传递

        引用传递方式是在函数定义时在形参前面加上引用运算符"&"

例如:swap(int &a,int &b);

按值传递方式容易理解,但形参值的改变不能对实参产生影响

地址传递方式通过形参的改变使相应的实参改变,但程序容易产生错误且难以阅读

引用作为参数对形参的任何操作都能改变相应的实参的数据,又使函数调用显得方便、自然

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值