C++系列学习总结(一)

变量

如何声明变量

类型 变量名

整型

数据类型占用空间
int(整型)4
short(短整型)2
long(长整型)Win:4
longlong(长整型)8

浮点型

数据类型占用空间
float(单精度)4
double(双精度)2

字符型

数据类型占用空间
char1

字符串型

数据类型占用空间
string

布尔型

数据类型作用
boolture(1):真 false(0):假

函数

函数就是用来执行特定任务的代码块

头文件

头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现。
在引用时,表示直接将头文件的内容复制到cpp文件中使用。
以#pragma once开头,表示只包含这个文件一次。
#include “”使用引号来包含这个头文件,表示包含相当于当前文件的文件
#include <> 使用时表示包含着同一个目录中即可引用,只用于编译器包含路径

条件与分支语句

1、if
2、if else
3、if else if

循环

1、for( ; ; )
2、while( )
3、do{ } while( )

控制流语句

1、continue 跳过循环体剩余代码直接进行下一次循环
2、break 终止循环
3、return 终止程序

指针

一个指针只是一个地址,是保存内存地址的整数。

 ·`int var=1;
 int* ptr=&var;
 *ptr=2;
 int **buffer=&ptr` 

用&取出变量的地址,并将指针指向这个地址,使用*解引用并修改指针指向地址的值,**双指针,***三指针

引用

引用是指针的扩展,通常是指针的伪装。
引用必须引用已经存在的变量,引用本身并不是新的变量,并不占用内存。

int a=1;
int*b=&a;
int& c=a;
c=d;

c就是a的别名。
引用不可以改变引用的值,即c不能再等于d。
在定义引用时必须马上给引用赋值。

C++类

使用class+变量名(唯一)来定义一个类,并在类中定义变量及函数,默认情况中,类中的成员都是私有的,只有类中的函数才能访问这些变量,在main使用类需要手动将class成员设为public。
struct的默认成员为public。

static

类外定义static,该静态变量只能对定义它的翻译单元可见,就是只在这一个cpp文件中能够访问到,其他cpp文件不可访问。
类内定义static,该静态变量与类的所有实例共享内存。

class Student{
public:
     static int name;
     static int score;
     static void print(){
     cout<<name<<score<<endl;
     }
};
int Student::name;
int Student::score;

这样看name和score是类中的成员,其实他们不属于这个类,需要在类外定义,静态方法可以访问静态成员,如上述代码所示,但是静态方法不能够访问非静态成员。
局部静态变量允许我们声明一个变量,它的生存期基本上相当于整个程序的生存期。

枚举

enum Exampleint
{
A,B,C
}

默认A=0并依次递增,也可手动指定ABC的数值,数值必须为整数,说明不能设置为float类型。

构造函数

构造函数是一种特殊类型的方法,每次调用类创建对象时都会调用,它没有返回类型,并且它的名称必须与类的名称相同。

class Student
{
public:
      int X,Y;
      Student(){}
      Student(int x,int y){X=x;Y=y;}
}
int main(){
Student stu(1,3);
}

C++编辑器中默认有无参构造函数,可以通过Student()=delete删除。

析构函数

用来卸载变量,清理占用的内存,~Student(){ };

继承

继承允许我们有一个关联的类的层次结构,允许我们有一个包含公共功能的基类,并生成子类。

class Student : public Entity

通过public(公有)/private(私有)/protect(保护)继承父类变成及其函数。

虚函数

假设B是A的派生类,则可以在A类中标记virtual函数,并在B类中重写方法,让它做其他的事情, 在C++11中加入了override覆写函数用于标识函数的重写方法。

class Entity
{
public:
    int X;
    virtual string getX(){return "this is X";}
}
class Student : class Entity
{
public:
    int Y;
    Student(const string& y):Y(y){}
    string getX() override {return Y;}
}

纯虚函数

纯虚函数允许我们在基类中定义一个没有实现的函数,强制子类去实现该函数。只需要将虚函数的定义修改为 virtual string getX()=0;就是纯虚函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值