c++基础

    xiaoxiao2021-03-25  106

    

    1.面向过程编程VS面向对象编程VS汇编语言

    面向过程:复用性差,维护性差,扩展性差,但运行效率最高。

    面向对象:复用性好,维护性好,扩展性好,灵活性好,但运行效率不太高。

    汇编语言:对硬件开发效率高,

    2.面向对象的特点:

    封装、继承、多态

    3.封装

    作用:类是对象的抽象,对象是类的实例化。

    好处:设定访问权限。起到了对属性的保护。

    public:可以在类外去访问类内公有成员

    一般把属性封装成private,把方法封装成public.

    用类实例化对象,最好不要在类内对成员初始化。

    4.C语言:结构体里不能放函数

    C++中,升级了结构体,使得结构体的使用与类一样。

    5.对象模型的特点:

    对象所占的内存大小有成员属性决定,遵循字对齐方式。

    5.this 指针保存的是调用这个方法的地址。

    6.前向申明:

    在一个类里面它的成员有另一个类的实例。

    只能含有另一个类的指针或引用,要想含有对象本身,必须包含那个雷的头文件。

    前向声明的类不能实例化。

    7.函数重载:

    当函数重载有默认值时,对函数形参有影响。

    一个参数的右边无默认值,它的左边就不能有默认值。

    成员函数重载的条件:形参的个数,类型、顺序不同,不能把返回值作为函数重载的条件。

    8.构造函数的作用:初始化成员属性

    成员属性初始化引入了一个新的机制:初始化列表。

    成员对象,const成员、引用必须在初始化列表初始化

    9.转换构造函数

    把基本类型转化为类对象

    Test t;

    t = 5;

    先是调用转换构造函数,,把5转化为类对象,然后调用重载运算符,把Test这个临时对象赋给t对象。

    10.explicit:使转化构造函数不能转化

    11.拷贝构造函数:

    原型:Test (const Test& other)

    什么时候用:用已有的对象初始化另一个对象

    当函数的形参是类对象,

    当函数的返回值是类对象

    12.深拷贝

    当类里有一个成员是指针的时候

    转化构造函数/等号运算符要深拷贝

    13.static关键字:

    在C++里,既能修饰成员也能修饰成员方法,修饰成员这个成员必须在类体外定义,定义的时候不能加static这个关键字去修饰。

    static const修饰的成员可以在类内定义并初始化

    static 修饰的成员方法,不属于任何类,在静态成员方法里面不能访问非静态成员

    普通的成员函数可以访问静态成员。因为静态成员函数没有this指针,无法访问非静态成员

    14.const关键字

    在C++中,修饰一个变量,它对应的空间是不可变的,const既可以修饰成员,也可以修饰成员方法,修饰的成员必须在初始化列表初始化。修饰的成员只能访问成员,不能修改值,如被mutable修饰则可被修改,const修饰函数在函数后面加。

    转载请注明原文地址: https://ju.6miu.com/read-17203.html

    最新回复(0)