相关疑难解决方法(0)

ctors和setter params的命名约定

对于那些为您命名成员变量但没有特殊符号的人,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)

c++ naming-conventions

7
推荐指数
3
解决办法
1229
查看次数

C#编译器忽略构造函数中的重复参数名称

我不确定为什么会这样 - 希望有人能解释一下!

我有一个名为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声明与基类中的声明具有相同的名称吗?

期待您的回音.

c# oop

1
推荐指数
1
解决办法
263
查看次数

标签 统计

c# ×1

c++ ×1

naming-conventions ×1

oop ×1