C++重点知识

文章目录

变量

普通变量:

  • const变量
  • static变量

类变量:

  • static静态成员变量:
    (1)多个对象之间共享数据(共享数据的典型使用场景是计数,每次创建对象时让该变量加 1)。
    (2)static 成员变量属于类,不属于某个具体的对象,即使创建多个对象,也只为 类成员分配一份内存。
    (静态成员变量在声明时要加 static,在定义时不能加 static。)

函数

普通函数:

  • 内联函数
  • 函数重载(参数列表不同。参数列表:包括参数类型、参数个数和参数顺序,只要有一个不同就叫做参数列表不同。)
  • 函数模板
  • 友元函数

类函数:

  • 纯虚函数
    (1) virtual 返回值类型 函数名 (函数参数) = 0;
    (2) 只有类中的虚函数才能被声明为纯虚函数,普通成员函数和顶层函数均不能声明为纯虚函数。
    (3)包含纯虚函数的类称为抽象类(Abstract Class)。之所以说它抽象,是因为它无法实例化,也就是无法创建对象。原因很明显,纯虚函数没有函数体,不是完整的函数,无法调用,也无法为其分配内存空间。
  • 虚函数(函数接口,父对象用子类new,即可调用子类实现的虚函数)
    (父类* 父对象 = new 子类)
    (父对象.子类函数)
    (1)C++中虚函数的唯一用处就是构成多态。C++提供多态的目的是:可以通过基类指针对所有派生类(包括直接派生和间接派生)的成员变量和成员函数进行“全方位”的访问,尤其是成员函数。如果没有多态,我们只能访问成员变量。
  • 纯虚函数和虚函数的区别:
    (1)纯虚函数类为抽象类,目的是提供一个统一的接口
    (2)虚函数可以被直接使用,纯虚函数的类是抽象类所以不能直接被使用,需要先实现再使用。
  • static静态成员函数
    (1)普通成员函数可以访问所有成员(包括成员变量和成员函数),静态成员函数只能访问静态成员。
    (2)普通成员函数只能在创建对象后通过对象来调用。静态成员函数可以通过类来直接调用,不管有没有创建对象,都可以调用静态成员函数。
    (静态成员函数在声明时要加 static,在定义时不能加 static。)

  • 向上转型的作用:
    eg:
    A是父类,B是子类。A x=new B();
    //目的:这是为了面向接口编程,多态化而设计的
    使用了向上转型后反而不能调用子类所特有的方法了。这样声明之后方法并不一定是A类的,只是只能调用A类有的方法,如果子类重写A类方法,在x实际调用这个被重写的就会调用子类的方法
发布了48 篇原创文章 · 获赞 29 · 访问量 4433

猜你喜欢

转载自blog.csdn.net/qq_43573718/article/details/103299587
今日推荐