开发手册 欢迎您!
软件开发者资料库

C++ 构造函数

C++ 是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。本文主要介绍C++ 构造函数。

1、构造函数

C++ 中的构造函数是一种特殊的方法,当创建类的对象时会自动调用该方法。

要创建构造函数,请使用与类相同的名称,后跟括号():

例如,

#include using namespace std;class MyClass {     // class  public:           // 访问修饰符    MyClass() {     // 构造函数      cout << "Hello World!";    }};int main() {  MyClass myObj;    // 创建MyClass的一个对象(这将调用构造函数)  return 0;}

注意:构造函数与类具有相同的名称,始终为public,并且没有任何返回值。

2、构造函数参数

构造函数还可以接受参数(就像常规函数一样),这对于设置属性的初始值很有用。

例如,

#include 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 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;}