
C++继承了C语言所有的语法特点(全面兼容C语言),同时在此基础上扩展了面向对象编程,泛型编程,多态,继承,模板等等特性
| C语言头文件 | C++头文件 |
|---|---|
| xxx.h | xxxx.hpp或者xxx.h |
| .c | .cpp |
| gcc/arm-linux-gcc | g++/arm-linux-g++ |
| #include | #include |
#include
using namespace std;
cout<<变量的名字;//\n用endl替换
例:
int a=15;
float b=45.6;
cout< cout<
2.输入
#include
例:
cin>>a;
cin中有一个 good() 方法, 数据类型输入正确返回1 数据类型输入错误返回0
二、C++中的命名空间(名称空间) 1.引入命名空间作用: 防止变量冲突
语法规则:
namespace 命名空间的名字
{
成员;
}
使用:
命名空间作用域运算符
namespace uu
{
int num;
}
uu::num; //表示我要使用命名空间uu中的num
写法一: 通过命名空间的名字
uu::num
写法二: 通过使用using namespace 命名空间的名字; //声明一个命名空间
简化书写,代码中可以直接使用命名空间中变量的名字
三、C++中的函数重载(function overload)
1. 函数重载
函数重载指的是C++允许同一个函数名,具备不同的表现形式
C语言中不能在同一个程序中出现多个名字相同的函数
例:int add(int a,int b);和float add(float a,float b);
译器如何区分不同版本的函数?
原理:从左到右去检查实参的个数和类型(不检查返回值)有没有完全匹配的,没有就报错
2. 函数重载的特点和要求(1)函数名字必须一模一样
(2)参数的个数或者类型至少要有一个是不一样的
(3)函数重载不关心返回值类型,只关心参数个数或者类型是否不同
理论概念: 函数重载是C++中实现多态的一种手段之一,称之为编译时多态
四、C++中动态分配内存 1. C语言和C++中分配空间C语言中:
分配堆空间 malloc() calloc() realloc()
释放堆空间 free()
C++中:
分配堆空间 new关键字
释放堆空间 delete关键字
new char(65); //等价于char *q=malloc(sizeof(char)) *q=10;
new char[65]; //等价于char *p=malloc(65*sizeof(char));
delete []p; //堆空间分配的多个类型大小
delete q; //堆空间分配只有一个类型大小
五、C++中字符串string
在线的C++文档:www.cplusplus.com
C语言中表示存储字符串:
方法一: char buf[] 数组存放
方法二: char *p=malloc();
C++使用string类型表示字符串
string 字符串名字
C语言中传递参数只有两种方式: 传值 传地址
C++中传递参数有三种方式: 传值 传地址 传引用
引用:理解为就是变量的一个别名
语法:类型名 &引用名
两种常见的引用:
第一种:普通变量的引用
int b=58;
int &a=b; //定义了一个int类型的引用,名字叫做a,该引用指向b
float c=14.5;
float &d=c;
第二种:指针的引用
int a = 56;
int *p = &a;
int *&h = p;
2.特点:
(1)引用不占用额外的存储空间,它仅仅只是变量的一个别名(它跟变量都是表示同一块内存区域)
实际用途:节约内存空间
(2)引用具备了传值和传地址的双重特性(指针和普通变量的特性都具备)
(3)引用必须定义的时候立马初始化
3.应用(1)引用作为函数的参数(最常见),节约空间
(2)引用作为函数的返回值
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)