📜  C ++ |构造函数|问题7(1)

📅  最后修改于: 2023-12-03 14:59:36.775000             🧑  作者: Mango

C++ | 构造函数 | 问题7
简介

在 C++ 中,构造函数是一种特殊的成员函数,用于创建和初始化对象。问题7旨在测试对于带有默认参数的构造函数的理解。

问题描述

给定一个名为 Person 的类,该类具有以下成员变量和构造函数:

// Person 类的声明
class Person {
private:
    std::string name;
    int age;
    std::string address;
    
public:
    // 构造函数(带有默认参数)
    Person(std::string personName = "Unknown", int personAge = 0, std::string personAddress = "Unknown");
};

请完成 Person 类的构造函数的定义,使其能够按照给定的参数进行初始化,并具有默认参数。构造函数应初始化 nameageaddress 成员变量。

要求

请在下面的代码块中,完成 Person 类的构造函数的定义:

// 构造函数的实现
Person::Person(std::string personName, int personAge, std::string personAddress) {
    // 在这里编写构造函数的代码
    // 使用传入的参数对成员变量进行初始化
}
代码示例

下面是 Person 类的一个示例用法:

// 创建一个名为 person 的 Person 对象
Person person("John", 30, "123 Example Street");

// 打印 person 的信息
std::cout << "Name: " << person.getName() << std::endl;
std::cout << "Age: " << person.getAge() << std::endl;
std::cout << "Address: " << person.getAddress() << std::endl;

上述代码的输出应为:

Name: John
Age: 30
Address: 123 Example Street
解答说明

在上述代码示例中,我们首先创建了一个 Person 对象,通过传递参数 "John"30"123 Example Street" 来调用构造函数。

构造函数将传入的参数分别赋值给成员变量 nameageaddress

最后,我们使用 getName()getAge()getAddress() 成员函数来获取并打印对象的属性。

如果我们没有传递参数给构造函数,则构造函数将使用默认参数 "Unknown"0 来初始化对象的成员变量。


参考文档