栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++基础讲解第一期(超详细)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++基础讲解第一期(超详细)

C++基础讲解第一期 代码中也有对应知识注释,别忘看

一、面向对象概述

1、C++发展2、为什么要学习C++3、面向对象和面向过程4、C++与C语言相比的改进5、面向对象的三要素(中心思想) 二、C到C++的过度

1、第一个代码2、作用域限定符(::)3、命名空间

a)目的:b)使用 4、C++的输入和输出5、register关键词6、struct的加强7、bool类型8、c与c++中三目运算符的不同9、c/c++中的const:10、C++引用

a)概念:b)使用 11、引用的本质:常指针12、引用作为函数的返回值13、指针引用14、常引用15、内联函数16、c++中的默认参数17、占位参数18、函数重载(重点)19、c++的动态内存分配20、多维数组的创建和释放

一、面向对象概述 1、C++发展

1998开始,c++98—>c++03—>c++11—>c++14

2、为什么要学习C++

众所周知,c++是一门面向对象的语言,在世界上的地位非常高,使用非常广泛,就业前景好。c++是c语言的升级版,c++几乎完全兼容c语言。

应用范围:应用软件开发、游戏开发、多媒体开发、人工智能、底层驱动、图形界面。

3、面向对象和面向过程

C语言:面向过程,以过程为中心,强调做算法,特点就是以函数为单位。数据从一个函数流向另一个函数。

C++:面向对象,是以事务为中心的编程,封装一个个的类,维护的代码期待更少。

4、C++与C语言相比的改进

C++是从C语言演化而来,C语言是过程式编程语言,以过程为中心,以算法为驱动。而C++是面向对象的编程方式,以对象为中心,以消息为驱动的编程方式,这是C++在C语言上的最大改进。

5、面向对象的三要素(中心思想)

封装:把一类事物抽象封装成类,并且可以把自己的类中的数据和函数只让可信的类或者对象操作。对不可暴露的接口进行隐藏。

继承:所谓继承,就是指类和类之间的关系,一个类可以继承另一个类

多态:多种形态,简单的说就是一个接口,多种方法,程序在运行的时候,才决定调用哪个函数。

二、C到C++的过度 1、第一个代码
#include//C++标准输入输出流
using namespace std;//声明标准命名空间

int main(){
    cout<<"hello world!"< 
2、作用域限定符(::) 
#include
using namespace std;

int num = 100;

int main(){
    int num = 999;
    cout<<"num ="< 
6、struct的加强 

C++中的结构体

#include
using namespace std;

int main(){
    register int i = 0;//声明一个寄存器变量,不能取地址
    register int j = 0;

    for(i = 0;i < 10000;i++){
        for(j = 0;j < 10000;j++){

        }
    }
    cout<<"运行结束"< 
7、bool类型 

C语言中想要判断“真”和“假”,只能用0和1来表示,这点在c++中加以改进,引入了两个新的关键词true和false

bool类型用法:
1.占一个字节
2.bool类型只有两个取值----true和false(编译器内部分别用1和0表示)
3.用途:推荐使用bool类型表示逻辑运算,关系运算以及开关变量的值。

#include

using namespace std;

int main(){
    bool a = true;
    cout<<"a = "< 
10、C++引用 
a)概念: 

c++提供了给变量取别名的机制,那就是引用,引用是c++相对于c的扩充。
注意:typedef是对类型取别名,不能对变量进行重命名。

b)使用

引用的定义方式类似于指针,只是用&取代了*,语法格式:

&:在定义的时候表示引用
type &name = data;
#include
using namespace std;

//传引用,引用作为函数参数,讲实参和形参绑定在一起,指向用一份数据
void swap(int &x,int &y){//在c语言中 我们是定义的指针 传参传的是地址 而使用引用就不需要这样了
    int temp = x;
    x = y;
    y = temp;
}
int main(int argc, char const *argv[])
{
    int a = 100,b = 200;
    cout<<"a = "< 

3)函数重载的二义性

#include
using namespace std;

void Add(int a,int b)
{
    cout<< a + b < 
19、c++的动态内存分配 

1)new和delete的基本用法
c语言:使用malloc和free函数
c++:malloc和free仍然可以使用,但是c++提供了专门的分配方式:new和delete

2)二者区别(重要)
c语言中:malloc和free是一个函数,函数值类型是(void*),不可以初始化
c++:new和delete是一个关键词,返回值类型为申请对象的类型,可以初始化

#include
using namespace std;

int main()
{
    int *p = new int;//分配了一个int类型的内存空间,返回值是(int *)
    *p = 100;
    cout<<"*p = "<<*p< 
20、多维数组的创建和释放 

例如:二维数组的动态创建,例如:申请二维数组int a[5][6];

#include
using namespace std;

int main()
{
    int **a = new int*[5];//分配一个二位数组,每个数组的元素是一个指针,指向一个一维数组

    for(int i = 0;i < 5;i++)
    {
        a[i] = new int[6];//为一维数组分配空间
    }

    //使用delete来释放,只要将顺序反过来就行
    for(int i = 0;i < 5;i++)
    {
        delete []a[i];
        a[i] = NULL;
    }

    delete []a;
    a = NULL;

    return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779020.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号