C ++ 基础语法之抽象类,动态内存

前言

最近在看《我是一个程序员》,这是一本由阿里服务器工程师写的工作总结,记录了他从校招进入阿里的懵懵懂懂,到成为 Leader 主导开发,从他的心路历程中确实学到蛮多东西,比如作为一个技术人员的工作态度:少抱怨,技术人就是来解决问题的,而抱怨解决不了任何问题.

面向对象编程的基础让我没花多久就开始入手 C++,在这篇笔记中,将重点记录 C++ 的多态,抽象以及内存等知识点.因为 C++ 的异常处理和 Java 在语法上没有差别(关键字以及异常类的继承关系和 Java 类似),所以不再记录异常处理的相关知识.

目录

  • 抽象类
  • 动态内存

抽象类

含有纯虚函数的类被称之为抽象类,定义如下:

    virtual void method() = 0;
# include
# include

using namespace std;

class Player {
    
    public:
        virtual void pause() = 0;
    
        void setName(string name){
            _name = name;   
        }
            
        void play(){
            cout<<_name<
image.png

动态内存

内存区域划分为两个区域:

  1. 栈: 函数中所有的变量
  2. 堆: 用于动态分配内存的区域

new 运算符用来在堆内存中分配空间,
对象使用不同的创建方式,会使用到不同的存储区域,比如我们定义了一个 Person 类:

  1. Person person("名字") : person 在栈中占用空间
  2. Person * person = new Person(); 将在堆中占用空间

我们都知道 C++ 是没有虚拟机来处理内存回收的,需要手动回收内存,这时就需要用到 delete 操作符来清除对应的堆内存.

# include

using namespace std;

class Test{
  
  public :
    Test(){
        cout<<"构造函数"<
image.png

你可能感兴趣的:(C ++ 基础语法之抽象类,动态内存)