1、构造函数
C++ 中的构造函数是一种特殊的方法,当创建类的对象时会自动调用该方法。
要创建构造函数,请使用与类相同的名称,后跟括号():
例如,
#include<iostream> using namespace std; class MyClass { // class public: // 访问修饰符 MyClass() { // 构造函数 cout << "Hello World!"; } }; int main() { MyClass myObj; // 创建MyClass的一个对象(这将调用构造函数) return 0; }
注意:构造函数与类具有相同的名称,始终为public
,并且没有任何返回值。
2、构造函数参数
构造函数还可以接受参数(就像常规函数一样),这对于设置属性的初始值很有用。
例如,
#include<iostream> using namespace std; class Person { // class public: // 访问修饰符 string Name; string Birthday; int Age; Person(string x, string y, int z) { // Constructor with parameters Name = x; Birthday = y; Age = z; } }; int main() { Person obj1("C", "1999-01-01", 1999); Person obj2("C++", "1999-01-01", 1969); // Print values cout << obj1.Name << " " << obj1.Birthday << " " << obj1.Age << "\n"; cout << obj2.Name << " " << obj2.Birthday << " " << obj2.Age << "\n"; return 0; }
就像函数一样,构造函数也可以在类之外定义。首先,在类的内部声明构造函数,然后在类的外部定义它,指定类的名称,后跟作用域解析符::
,再后跟构造函数的名称(与类相同):
例如,
#include<iostream> using namespace std; class Person { // class public: // 访问修饰符 string Name; string Birthday; int Age; Person(string x, string y, int z); }; // 类外的构造函数定义 Person::Person(string x, string y, int z) { Name = x; Birthday = y; Age = z; } int main() { Person obj1("C", "1999-01-01", 1999); Person obj2("C++", "1999-01-01", 1969); // Print values cout << obj1.Name << " " << obj1.Birthday << " " << obj1.Age << "\n"; cout << obj2.Name << " " << obj2.Birthday << " " << obj2.Age << "\n"; return 0; }