📜  C++ |其他C++ |问题2(1)

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

C++ | 其他C++ | 问题2

在编写 C++ 程序时,我们常常会遇到许多问题。这里我们将介绍一些常见的 C++ 问题以及对应的解决方案。

问题描述

这里介绍的问题是在使用 C++ 编写程序时遇到的另一种类型的问题。

在一个 C++ 类中,我们定义了若干个成员变量,这些变量需要在类实例化时进行初始化。但是,我们希望这些变量的初始值可以使用外部参数指定。

具体来说,我们有一个名为 Foo 的类,需要定义两个成员变量 xy,它们的初始值由外部参数指定。我们希望在实例化 Foo 类时,可以指定 xy 的值,并在构造函数中进行初始化。

解决方案

我们可以在 Foo 类的构造函数中,接收外部参数,并在构造函数中对 xy 进行初始化。具体来说如下所示:

#include <iostream>
using namespace std;

class Foo {
private:
    int x;
    int y;

public:
    Foo(int x, int y) {
        this -> x = x;
        this -> y = y;
    }

    void print() {
        cout << "x = " << x << endl;
        cout << "y = " << y << endl;
    }
};

int main() {
    Foo foo(10, 20);
    foo.print();
    return 0;
}

在上面的例子中,我们定义了一个 Foo 类,包含两个成员变量 xy。在构造函数中,我们接收了外部传入的 xy 参数,并对 xy 进行了初始化。在实例化 Foo 类时,我们可以指定 xy 的值。

main 函数中,我们实例化了 Foo 类,并输出了 xy 的值。

总结

在 C++ 编程中,我们经常需要在类定义中初始化成员变量。如果有些成员变量的初始值需要由外部参数指定,我们可以在构造函数中接收这些参数,并在构造函数中进行初始化。这样,我们就能够灵活地初始化对象,并且不需要每次都手动设置这些参数的值。