gpt4 book ai didi

c++ - C++ 与 Java 中的构造函数和变量名称

转载 作者:太空狗 更新时间:2023-10-29 23:38:15 27 4
gpt4 key购买 nike

我正在学习来自 Java 背景的 C++(很多年前就知道一点 C)...

在 Java 中,通常的做法是在构造函数中使用“this”来区分作为参数传递给构造函数的变量与类中声明的变量:

class Blabla {

private int a;
private int b;

Blabla(int a, int b){
this.a = a;
this.b = b;
}
}

我喜欢这样,因为变量 Blabla.a 和作为参数传递给构造函数的变量代表相同的东西,所以感觉它们应该具有相同的名称是合乎逻辑的...

可以用 C++ 实现吗?

最佳答案

是的,您可以使用this 来引用成员变量。也就是说,您经常会发现您的代码在惯用的 C++ 中看起来如下所示:

class Blabla {
private:
int a_;
int b_;

public:
Blabla(int a, int b) : a_(a), b_(b) {}
};

如您所见,您通常不会对每个成员应用访问控制说明符(publicprotectedprivate),但是您将它们分组。

此外,如果您使用上面使用的初始化类型,成员将被初始化两次 - 一次是在创建对象时使用默认构造函数(基本上,在执行大括号内的代码之前)和第二次在分配给 this->a 期间。

关于c++ - C++ 与 Java 中的构造函数和变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1875695/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com