C++ 类的基础知识

1.类的定义

类就是数据类型,是用户定义的数据类型,对象可以看成某个类的实例(某个
类的变量)。所以说类是对象的封装,对象是类的实例。在类中定义的成员函数,都是 inline 函数。

2.类的修饰符

public、protected、private.
public进行修饰的成员表示的是该类可以提供的接口、功能、或者服务;
protected进行修饰的成员,其访问权限是开放给其子类;
private进行修饰的成员是不可以在类之外进行访问的,只能在类内部访问。

3.class 与 struct 的区别

在 C++ 中,与 C 相比, struct 的功能已经进行了扩展。 class 能做的事儿,~一样能做,他们之间唯一的区别,就是默认访问权限不同。 class 的默认访问权限是 private , struct 的默认访问权限是public。

4.对象的创建

构造函数在对象创建时自动调用,用以完成对象成员变量等的初始化及其他操作(如为指针成员动态申请内存等)。

5.对象的销毁

析构函数在对象撤销时自动调用,用以执行一些清理任务,如释放成员函数中动态申请的内存等。

6.析构函数调用的时机

1. 对于全局定义的对象,每当程序开始运行,在主函数 main 接受程序控制权之前,就调用构造函数创建全局对象,整个程序结束时,自动调用全局对象的析构函数。

2. 对于局部定义的对象,每当程序流程到达该对象的定义处就调用构造函数,在程序离开局部对象的作用域时调用对象的析构函数。

3. 对于关键字 static 定义的静态局部变量,当程序流程第一次到达该对象定义处调用构造函数,在整个程序结束时调用析构函数。

4. 对于用 new 运算符创建的对象,每当创建该对象时调用构造函数,当用 delete 删除该对象时,调用析构函数。

7.拷贝构造函数的调用时机

1. 当把一个已经存在的对象赋值给另一个新对象时,会调用拷贝构造函数。
2. 当实参和形参都是对象,进行实参与形参的结合时,会调用拷贝构造函数。
3. 当函数的返回值是对象,函数调用完成返回时,会调用拷贝构造函数。
  1. ' = ' 运算符重载
  • 如果不显示写出,编译器会默认提供,与下例一样的函数(浅拷贝)
Computer & Computer::operator=(const Computer & rhs)
{
    _brand = rhs._brand;
    _price = rhs._price;
    return *this;
}
posted @ 2023-06-23 19:35  从今天学到明天  阅读(69)  评论(0)    收藏  举报