文章目录
- C++基础教程
- 入门实例
- 编程实战
- linux 下编译c++
- 程序=算法+数据结构
- C++存储类
- 数组
- C++ 指针
- C++ 引用
- 面向对象编程
- static 关键字
- C++ 继承
- C++ 多态
- C++重载
- C++ 抽象类
- C++命名空间
- C++字符串
- C++ 异常处理
- C++文件和流
C++基础教程
1.IDE:集成开发平台:编辑 编译 调试 推荐VS2008
2.www.afanihao.cn
3.win10 cd /d 文件夹路径
- c++是静态编程语言、编程式的、通用的大小写敏感的,不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。
- C++是一个中级语言,c++是c语言的超集合,任何合法的C都是合法的C++程序。
- c++的文件扩展名,.cpp .cp .c
- C++ 中分号是结束符号,每个完整的句子都以;号结束。
- 语句块是一组使用大括号括起来的按逻辑连接的语句
入门实例
#include<iostream>
using namespace std;
int main()
{
cout<< "hello,world"<<endl;
return 0;
}
- C++ 特性:封装、继承、多态、抽象
- C++ 程序的源文件通常使用扩展名 .cpp、.cp 或 .c。
- Xcode 目前可从 developer.apple.com/technologies/tools/ 上下载。
- 在 C++ 中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。
- 标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)
- bool 所占的字节数:sizeof(bool)
- char 所占的字节数:sizeof(char)
- numeric_limits::max
- numeric_limits::min
enum 枚举名{
标识符[=整型常数],
标识符[=整型常数],
...
标识符[=整型常数]
} 枚举变量;
- 当您使用多个文件且只在其中一个文件中定义变量时(定义变量的文件在程序连接时是可用的),变量声明就显得非常有用。您可以使用 extern 关键字在任何地方声明一个变量。虽然您可以在 C++ 程序中多次声明一个变量,但变量只能在某个文件、函数或代码块中被定义一次。
编程实战
- c++ 中小数表示: printf("%.1f\n",8.0/5.0)
- 解释型语言:边编译边执行;编译型语言:编译完成后再执行
- C++ 变量
- 变量其实不过是程序可操作的存储区的名称。C++中每个变量指定类型,类型决定了变量存储的大小和布局。
- 变量名字:必须是以字母和下划线开头。
- extern关键字在任何地方声明变量。
- 全局变量和局部变量的区别
- [外链图片转存失败(img-q79KQYRa-1567995738830)(https://i.loli.net/2019/09/05/hJxkUN4GPA2uILO.png)]
- 字符常量
linux 下编译c++
** iostream 是标准的输入和输出流的标准头文件
//---------------------
// first.cpp
// Author:YanErrol
//--------------------
#include<iostream>
using namespace std;
int main(){
cout << "hello world\n";
return 0;
}
//---------------------
程序=算法+数据结构
- C++语句:说明语句、赋值语句、表达语句、过程控制语句。
- 过程控制语句又包括条件语句、循环语句、转义语句。
- switch 语句(switch statement)
- 分支为整数或者字符
- default分支
- case和break连用
- do-while循环用于重复程序的一部分几次(或多次)。如果迭代次数不固定,并且必须至少执行一次循环,建议使用do-while循环。
- goto语句也称为跳转语句。 它用于将控制转移到程序的其他部分。 它无条件跳转到指定的标签。它可用于从深层嵌套循环或switch case标签传输控制。
- 注释:/单行注释
- 注释多行:/* 多行注释 */
- 函数
- 函数分为两类:库函数和用户自定义函数
- 将参数传给函数的两种方式:值的调用或者通过引用的调用。在原始的调用中是不会被修改,在通过引用调用中会被修改。
- [外链图片转存失败(img-o04MvUAj-1567995738831)(https://ws1.sinaimg.cn/large/006tKfTcgy1g1n6kzyunnj314c0a0gm1.jpg)]
C++存储类
- 静态变量只初始化一次,直到程序结束。 它保留可在多个函数之间调用的值。静态变量由编译器提供的一个默认值:0。
- extern变量对所有程序都可见。 如果两个或多个文件共享相同的变量或函数,则使用它。
- 多维数字示例
数组
- C++中声明一个数组,需要制定元素的类型和元素的数量。
- type arrayName [ arraySize ];
C++ 指针
- C++语言中的指针是一个变量,它也称为定位符或指示符,它是指向一个值的地址。
- 指针减少代码并提高性能,它用于检索字符串,树等,并与数组,结构和函数一起使用。
- 我们可以使用指针从函数返回多个值。
- 它能够访问计算机内存中的任何内存位置。
- 动态内存分配在c语言中,可以使用malloc()和calloc()函数动态分配内存,其中使用的就是指针。
- 数组,函数和结构体C语言中的指针被广泛用于数组,函数和结构体中。 它减少了代码并提高了性能。
- C++ Null指针:C++支持空指针。NULL指针是一个定义在标准中的值为零的常量。
- C++ 指针的算术运算:可以指针进行四种算术运算:++,–,+,-
C++ 引用
- 不存在空引用。引用必须连接到一块合法的内存。
- 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
- 引用必须在创建时被初始化。指针可以在任何时间被初始化。
面向对象编程
- 对象、实例
- 继承:当一个对象获取父对象的所有属性和行为,称为继承。
- 多态:当一个任务通过不同的方式执行时,即被称为多态性。
- 抽象
- 封装
- 构造函数时创建对象,向系统索取资源;析构函数时释放资源,向系统释放资源。
- [外链图片转存失败(img-ZC1ZCpOZ-1567995738832)(https://i.loli.net/2019/09/07/IUA3VKwodLr4Teh.png)]
static 关键字
1.static是类的的关键字或修饰符。
2.static 可以是字段,方法,构造函数,类,属性,操作符和事件。
2.1 静态成员是属于整个类,不属于某一个对象。
3.类和结构体(struct)用于创建类的实例的蓝图。结构体可用于轻量级对象。
4.友元函数可以访问类的protected和private数据。
C++ 继承
1.继承是一个对象自动获取父对象的所有属性和行为的过程。派生类为子类。
2.
C++ 多态
- C++的主要特性是封装继承多态
C++重载
- 如果创建两个多个成员函数具有相同的名称,但是参数的数量和类型不同,则成为C++重载。
- 在C++中可以重载:方法,构造函数、索引属性
- 重载:分为函数重载和运算符号重载。
- 优点:函数的重载增加了函数的可读性,不要为同一个函数操作使用不同的函数名称。
- 在C++中,如果派生类定义了与其基类中定义的函数相同,则称函数重写。
- C++虚函数是基类中的一个成员函数,您可以在派生类中重新定义它。 它声明使用virtual关键字。它用于告诉编译器对函数执行动态链接或后期绑定。
C++ 抽象类
- 抽象类是在C++中实现抽象的方式。C++抽象类是隐藏内部细节和仅显示功能的过程:抽象类和接口
- 在C++中将其函数中的至少一个声明为纯虚函数,使其变得抽象。通过在声明中放置“=0”来指定纯虚函数,它的实现必须由派生类提供。
C++命名空间
- C++中的命名空间用于组织项目中的类。
- 对于访问命名空间的类,我们使用namespacename::classname. 使用using关键字。
- 在C++中全局命名空间是根命名空间,global::std总是引用C++框架的命名空间“std”。
C++字符串
- C++ 字符串string 是一个表示字符串的std::string类的对象。
C++ 异常处理
C++文件和流
- iostream标准库是提供了cin cout方法,分别从输入和输出流。
- 从文件读取和写入,fstream 标准C++库。
- [外链图片转存失败(img-Zd9sDquY-1567995738833)(https://ws4.sinaimg.cn/large/006tNc79gy1g1rtadjt7yj314k092jrm.jpg)]