Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C++ 教程

C++ 首页 C++ 简介 C++ 入门 C++ 语法 C++ 输出 C++ 注释 C++ 变量 C++ 用户输入 C++ 数据类型 C++ 运算符 C++ 字符串 C++ 数学 C++ 布尔值 C++ if...Else C++ Switch C++ While 循环 C++ For 循环 C++ Break/Continue C++ 数组 C++ 结构体 C++ 枚举 C++ 引用 C++ 指针

C++ 函数

C++ 函数 C++ 函数参数 C++ 函数重载 C++ 作用域 C++ 递归

C++ 类

C++ 面向对象编程 C++ 类/对象 C++ 类方法 C++ 构造函数 C++ 访问修饰符 C++ 封装 C++ 继承 C++ 多态性 C++ 文件 C++ 异常 C++ 日期

C++ 数据结构

C++ 数据结构 & STL C++ 向量 C++ 列表 C++ 栈 C++ 队列 C++ 双端队列 C++ 集合 C++ 映射 C++ 迭代器 C++ 算法

C++ 如何

C++ 添加两个数字 C++ 随机数

C++ 参考

C++ 参考 C++ 关键字 C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime> C++ <vector> C++ <algorithm>

C++ 示例

C++ 示例 C++ 现实生活中的例子 C++ 编译器 C++ 练习 C++ 测验 C++ 证书


C++ 构造函数


构造函数

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

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

示例

class MyClass {     // 类
  public:           // 访问修饰符
    MyClass() {     // 构造函数
      cout << "Hello World!";
    }
};

int main() {
  MyClass myObj;    // 创建 MyClass 对象(这将调用构造函数)
  return 0;
}
自己试试 »

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


构造函数参数

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

以下类具有 brandmodelyear 属性,以及具有不同参数的构造函数。在构造函数内部,我们将属性设置为等于构造函数参数 (brand=x 等)。当我们调用构造函数(通过创建类的对象)时,我们将参数传递给构造函数,这将设置相应属性的值为相同的值

示例

class Car {        // 类
  public:          // 访问修饰符
    string brand;  // 属性
    string model;  // 属性
    int year;      // 属性
    Car(string x, string y, int z) { // 带参数的构造函数
      brand = x;
      model = y;
      year = z;
    }
};

int main() {
  // 创建 Car 对象并使用不同的值调用构造函数
  Car carObj1("BMW", "X5", 1999);
  Car carObj2("Ford", "Mustang", 1969);

  // 打印值
  cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
  return 0;
}
自己试试 »

就像函数一样,构造函数也可以在类之外定义。首先,在类内部声明构造函数,然后在类外部定义它,方法是指定类名,后跟范围解析 :: 运算符,后跟构造函数名称(与类相同)

示例

class Car {        // 类
  public:          // 访问修饰符
    string brand;  // 属性
    string model;  // 属性
    int year;      // 属性
    Car(string x, string y, int z); // 构造函数声明
};

// 构造函数定义在类外
Car::Car(string x, string y, int z) {
  brand = x;
  model = y;
  year = z;
}

int main() {
  // 创建 Car 对象并使用不同的值调用构造函数
  Car carObj1("BMW", "X5", 1999);
  Car carObj2("Ford", "Mustang", 1969);

  // 打印值
  cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
  return 0;
}
自己试试 »

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.