对于那些为您命名成员变量但没有特殊符号的人,m_foo或者foo_如何为ctors和setter命名参数?
到目前为止我尝试过的一些选项......
Obj(int foo) : foo(foo) { }
void set_foo(int foo) { this->foo = foo; }
Obj(int _foo) : foo(_foo) { }
void set_foo(int _foo) { foo = _foo; }
Obj(int a_foo) : foo(a_foo) { } // a for "argument"
void set_foo(int a_foo) { foo = a_foo; }
Obj(int init_foo) : foo(init_foo) { }
void set_foo(int new_foo) { foo = new_foo; }
Run Code Online (Sandbox Code Playgroud) 我不确定为什么会这样 - 希望有人能解释一下!
我有一个名为BaseRequest的基类,其中包含:
protected int cartNumber;
Run Code Online (Sandbox Code Playgroud)
我有一个派生类,它继承了BaseRequest.它有一个公共字段和构造函数如下:
public int currentCartNumber;
public ExtendedBaseRequest(int cartNumber)
{
currentCartNumber = cartNumber;
}
Run Code Online (Sandbox Code Playgroud)
是的,我知道在基类中有一个与受保护字段同名的参数有点傻,但直到现在我才注意到它!
这将编译并运行,但派生类中的public currentCartNumber值未设置,因为它使用基类中的值,初始化时始终为零.
编译器不应该对此抱怨,因为构造函数签名中的cartNumber声明与基类中的声明具有相同的名称吗?
期待您的回音.