【发布时间】:2012-04-29 04:40:42
【问题描述】:
考虑以下类:
class A
{
A();
int number;
void setNumber(int number);
};
您可以通过 3 种方式实现“setNumber”:
方法一:使用'this'指针。
void A::setNumber(int number)
{
this->number = number;
}
方法二:使用范围解析运算符。
void A::setNumber(int number)
{
A::number = number;
}
方法 3:改为使用“m”或“_”表示所有成员变量(这是我的首选方法)。
void A::setNumber(int number)
{
mNumber = number;
}
这只是个人喜好,还是选择特定方法有好处?
【问题讨论】:
-
@R.MartinhoFernandes:为简单起见,这是一个示例。
-
第三个。没有必要在 C++ 中使用
this->,除非您正在处理模板化基类。把冗长的噪音留给 Java 和 PHP。 -
方法 4:消除 setter 以提供更高级别的操作(当然,这并不总是实用)。
-
感谢大家的精彩回复!我希望我能接受你所有的答案。 @JerryCoffin:绝对有道理,但是,正如你提到的,这并不总是实用的。
标签: c++ class variables scope member