本篇来继续补充介绍面向对象的一些概念,并以C++代码进行举例。
1 构造函数
构造函数是面向对象编程中的一个重要概念,用于在创建对象时初始化对象的状态。
1.1 构造函数的运行时机
构造函数在创建对象时自动调用。
当实例化一个类的对象时,构造函数会被自动执行。构造函数的运行时机是在对象的内存分配完成之后。
class MyClass
{
public:MyClass() {cout << "Constructor is called!" << endl;}
};int main()
{MyClass obj; // 实例化一个对象,构造函数在此处被调用return 0;
}
1.2 构造函数中的内容
构造函数通常用于初始化对象的成员变量或执行一些必要的设置操作。
你可以在构造函数中为对象的属性赋初值,或调用其他方法来初始化对象的使用环境。
class Person
{
public:std::string name;int age;// 构造函数Person(std::string name, int age) {this->name = name;this->age = age;}void display() {std::cout << "Name: " << name << ", Age: " << age << std::endl;}
};int main()
{Person person("Alice", 30); // 实例化对象时,通过构造函数传入参数进行初始化person.display(); // 输出: Name: Alice, Age: 30return 0;
}
1.3 默认构造函数
如果你没有为类定义任何构造函数,编译器会自动为你生成一个默认构造函数。默认构造函数没有参数,并且不执行任何操作。
如果你定义了任何构造函数(无论是否有参数),编译器将不再提供默认构造函数。
class MyClass
{// 没有自定义构造函数,则编译器会自动生成一个默认构造函数
};int main()
{MyClass obj; // 实例化对象时,使用默认构造函数return 0;
}
1.4 使用多个构造函数
一个类可以有多个构造函数,这被称为构