mik*_*ike 0 c++ java constructor
我有使用Java工作的经验,但最近开始用C++工作,我在理解后者存储在内存中的方式时遇到了一些麻烦.在java中,以下内容有效:
class Class {
int myInt;
public Class(int myInt) {
this.myInt = myInt;
}
}
Run Code Online (Sandbox Code Playgroud)
所以我在类中有一个整数,我在创建对象时给它一个值.我想用C++复制它:
class Class {
int myInt;
public:
Class (int myInt) {
// What goes here?
}
};
Run Code Online (Sandbox Code Playgroud)
然而,这不起作用.如果我将变量命名为传递给构造函数的其他东西myInt,我可以简单地说明myInt = differentName.但是假设在Java中,我希望传递给构造函数的变量和变量的名称都相同?我怎样才能做到这一点?
两种选择:
使用初始化列表:
class Class {
int myInt;
public:
Class (int myInt) : myInt(myInt)
{
}
};
Run Code Online (Sandbox Code Playgroud)您有意寻找的内容:
class Class {
int myInt;
public:
Class (int myInt)
{
Class::myInt = myInt;
}
};
Run Code Online (Sandbox Code Playgroud)但第一个是首选.