C++构造函数

C++构造函数教程

C++ 中,我们创建一个 时,会自动给我们添加一个跟类名一样的 函数,该函数没有任何的 返回值,且该函数不做任何操作,该函数被称为构造方法(或构造函数)。

构造方法用于创建对象时使用,每当创建一个类的实例对象时,C++ 解释器都会自动调用它。

C++构造函数参数

C++ 中的构造函数,默认是没有任何 函数参数 的,但我们也可以重写该函数,为其设置任意多个和任意类型的参数,如果,我们在构造函数方法里设置了参数,那么我们在实例化类对象的时候,必须要传入相对应的参数。

C++ 的构造函数,跟普通的函数一样,也可以设置 默认参数,如果设置了默认参数,那么在实例话实例时,可以不传该参数,而使用默认值。

C++构造方法详解

语法

class Classname { public: Classname(){} };

说明

C++ 构造方法的名字与类名完全一致,该函数默认没有任何参数,并且是自动调用,不需要我们手动调用。

案例

为类添加构造方法

为类添加构造函数

#include <iostream> using namespace std; class Student { public: Student() { cout << "Call Student" << endl; } void sayHello() { cout << "Hello HaiCoder From C++ Class" << endl; } }; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; Student stu; stu.sayHello(); Student stu1; return 0; }

程序运行后,控制台输出如下:

02_C构造函数.png

我们创建了一个类 Student,接着,我们为该类添加了一个构造函数和一个 sayHello 方法 ,最后,我们创建了两个 Student 类的实例。

我们看到,我们没有显式调用构造函数,但程序输出了两次 Call Student,即我们每创建一次对象,系统会自动为我们调用一次构造方法。

为构造方法添加参数

构造函数可以接受参数

#include <iostream> using namespace std; class Student { public: Student(string name, int age) { cout << "Call Student, Name is: " << name << " Age is: " << age << endl; } void sayHello() { cout << "Hello HaiCoder From C++ Class" << endl; } }; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; Student stu("HaiCoder", 109); stu.sayHello(); return 0; }

程序运行后,控制台输出如下:

03_C构造函数参数.png

我们创建了一个类 Student,接着,我们为该类添加了一个构造函数 Student,且该构造函数接受两个参数,即 name 和 age,最后,我们在创建 Student 类的实例的时候,我们必须要传入 nama 和 age 参数。

构造方法支持默认参数

C++ 类的构造函数支持默认参数

#include <iostream> using namespace std; class Student { public: Student(string name, int age = 18) { cout << "Call Student, Name is: " << name << " Age is: " << age << endl; } void sayHello() { cout << "Hello HaiCoder From C++ Class" << endl; } }; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; Student stu("HaiCoder", 109); stu.sayHello(); Student stu1("Jobs"); return 0; }

程序运行后,控制台输出如下:

04_C构造函数参数.png

这次,我们定义的 Student 类的构造函数的第二个参数带有了默认值,最后,我们在创建 Student 类的实例的时候,只传入了一个参数,age 参数使用默认值。

C++构造函数总结

在 C++ 中,我们创建一个类时,会自动给我们添加一个跟类名一样的函数,该函数没有任何的返回值,且该函数不做任何操作,该函数被称为构造方法(或构造函数)。

构造方法用于创建对象时使用,每当创建一个类的实例对象时,C++ 解释器都会自动调用它。