首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C++编程基础与高级编程

C++编程基础与高级编程

作者头像
AI拉呱
发布2021-01-14 10:54:32
发布2021-01-14 10:54:32
2.1K00
代码可运行
举报
运行总次数:0
代码可运行

文章目录

  • 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++ 中分号是结束符号,每个完整的句子都以;号结束。
  • 语句块是一组使用大括号括起来的按逻辑连接的语句
  • 单行注释://
  • 多行注释:/* */

入门实例

代码语言:javascript
代码运行次数:0
运行
复制
#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
代码语言:javascript
代码运行次数:0
运行
复制
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++

代码语言:javascript
代码运行次数:0
运行
复制
g++ name.cpp
./a.out

** iostream 是标准的输入和输出流的标准头文件

代码语言:javascript
代码运行次数:0
运行
复制
//---------------------
// first.cpp
// Author:YanErrol
//--------------------

#include<iostream>
using namespace std;
int main(){
cout << "hello world\n";
return 0;
}
//---------------------

程序=算法+数据结构

  1. C++语句:说明语句、赋值语句、表达语句、过程控制语句。
    1. 过程控制语句又包括条件语句、循环语句、转义语句。
    2. switch 语句(switch statement)
      1. 分支为整数或者字符
      2. default分支
      3. case和break连用
      4. do-while循环用于重复程序的一部分几次(或多次)。如果迭代次数不固定,并且必须至少执行一次循环,建议使用do-while循环。
      5. goto语句也称为跳转语句。 它用于将控制转移到程序的其他部分。 它无条件跳转到指定的标签。它可用于从深层嵌套循环或switch case标签传输控制。
      6. 注释:/单行注释
      7. 注释多行:/* 多行注释 */
  2. 函数
    1. 函数分为两类:库函数和用户自定义函数
    2. 将参数传给函数的两种方式:值的调用或者通过引用的调用。在原始的调用中是不会被修改,在通过引用调用中会被修改。
    3. [外链图片转存失败(img-o04MvUAj-1567995738831)(https://ws1.sinaimg.cn/large/006tKfTcgy1g1n6kzyunnj314c0a0gm1.jpg)]

C++存储类

  1. 静态变量只初始化一次,直到程序结束。 它保留可在多个函数之间调用的值。静态变量由编译器提供的一个默认值:0。
  2. extern变量对所有程序都可见。 如果两个或多个文件共享相同的变量或函数,则使用它。
  3. 多维数字示例

数组

  • C++中声明一个数组,需要制定元素的类型和元素的数量。
    • type arrayName [ arraySize ];

C++ 指针

  1. C++语言中的指针是一个变量,它也称为定位符或指示符,它是指向一个值的地址。
  1. 指针减少代码并提高性能,它用于检索字符串,树等,并与数组,结构和函数一起使用。
  2. 我们可以使用指针从函数返回多个值。
  3. 它能够访问计算机内存中的任何内存位置。
  4. 动态内存分配在c语言中,可以使用malloc()和calloc()函数动态分配内存,其中使用的就是指针。
  5. 数组,函数和结构体C语言中的指针被广泛用于数组,函数和结构体中。 它减少了代码并提高了性能。
  1. C++ Null指针:C++支持空指针。NULL指针是一个定义在标准中的值为零的常量。
  2. C++ 指针的算术运算:可以指针进行四种算术运算:++,–,+,-

C++ 引用

  • 不存在空引用。引用必须连接到一块合法的内存。
  • 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
  • 引用必须在创建时被初始化。指针可以在任何时间被初始化。

面向对象编程

  1. 对象、实例
  2. 继承:当一个对象获取父对象的所有属性和行为,称为继承。
  3. 多态:当一个任务通过不同的方式执行时,即被称为多态性。
  4. 抽象
  5. 封装
  6. 构造函数时创建对象,向系统索取资源;析构函数时释放资源,向系统释放资源。
  7. [外链图片转存失败(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++ 多态

  1. C++的主要特性是封装继承多态

C++重载

  1. 如果创建两个多个成员函数具有相同的名称,但是参数的数量和类型不同,则成为C++重载。
  2. 在C++中可以重载:方法,构造函数、索引属性
  3. 重载:分为函数重载和运算符号重载。
  4. 优点:函数的重载增加了函数的可读性,不要为同一个函数操作使用不同的函数名称。
  5. 在C++中,如果派生类定义了与其基类中定义的函数相同,则称函数重写。
  6. C++虚函数是基类中的一个成员函数,您可以在派生类中重新定义它。 它声明使用virtual关键字。它用于告诉编译器对函数执行动态链接或后期绑定。

C++ 抽象类

  1. 抽象类是在C++中实现抽象的方式。C++抽象类是隐藏内部细节和仅显示功能的过程:抽象类和接口
  2. 在C++中将其函数中的至少一个声明为纯虚函数,使其变得抽象。通过在声明中放置“=0”来指定纯虚函数,它的实现必须由派生类提供。

C++命名空间

  1. C++中的命名空间用于组织项目中的类。
  2. 对于访问命名空间的类,我们使用namespacename::classname. 使用using关键字。
  3. 在C++中全局命名空间是根命名空间,global::std总是引用C++框架的命名空间“std”。

C++字符串

  1. C++ 字符串string 是一个表示字符串的std::string类的对象。

C++ 异常处理

  • try
  • catch
  • throw

C++文件和流

  • iostream标准库是提供了cin cout方法,分别从输入和输出流。
  • 从文件读取和写入,fstream 标准C++库。
  • [外链图片转存失败(img-Zd9sDquY-1567995738833)(https://ws4.sinaimg.cn/large/006tNc79gy1g1rtadjt7yj314k092jrm.jpg)]
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • C++基础教程
    • 入门实例
    • 编程实战
    • linux 下编译c++
    • 程序=算法+数据结构
    • C++存储类
    • 数组
    • C++ 指针
    • C++ 引用
    • 面向对象编程
    • static 关键字
    • C++ 继承
    • C++ 多态
    • C++重载
    • C++ 抽象类
    • C++命名空间
    • C++字符串
    • C++ 异常处理
    • C++文件和流
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档