c是面向过程
c++是面对对象的
c++支持数据封装支持数据封装就是支持数据抽象
c++类中包含私有,公有和保护成员
封装 继承 多态
c++标准库分为10类
c++ 98
c++ 11
c++ 14
查看是否有加C++的编译器 g++ -v
安装方法:apt-get install g++
==============================
//hello world
#include <iostream>
unsing namespace std; //命名空间 定义一个名为std的namespace中
int main(nt argc,char *argc[])
{
//打印helloworld
cout<<"hello world ”; 回车可以用<<end; 可以用\n
}
========================================
编译linux g++ g++ hello.cpp -o hello
文件后缀名:.cpp / .cc / .cxx / .hpp / .h
输入输出流
std::cout>>(输出) std::cin<<(输入)
输出不用关心数据类型
可以连续操作std::cout<<a<<" "<<str<<std::endl;
不要将c++的main函数的返回值为void类型
要在c++环境中运行c程序
方法一:
extern“c”
{
include <stdio.h>
}
方法二
#include <cstdio>
c++对c的扩展
命名空间 ,引用,函数重载,默认参数
定义命名空间
namespace hqd
{
int data;
};
空间名 所属符 空间里面的变量名
hpd : : data
使用命名空间 using namespace std;
命名空间有什么作用:防止冲突,避免全局变量重名,避免使用库函数的时候出现库中变量名冲突
namespace hpd
{
int number;
};
多个同名命名空间可以共存,并且属于同一个命名空间使用命名空间中的某一个成员
using hpd ::number;
引用:一个变量取了个别名不占用内存空间(编译器对指针的一种包装Type *const p) 具有地址相同的特点
定义 :数据类型 &引用名 =变量名 (定义的时候一定要赋值)
引用作为函数参数
swap(int a,int b)//传值(不能到达交换的目的)
swap(int *a,int *b)//传地址 ,传指针
swap(int &a ,int &b)//传引用
函数重载
可以在同一个程序出现相同的函数名,参数个数不同,参数类型,参数顺序
参数默认参数
系统参数默认初始化,
funcation(int a ,int b ,int c=20,int d=30)//形参
funcation(10,20) //实参