#include "stdafx.h"
#include<iostream>
#include<string>
using namespace std;
class Variable{
private:
string name;
public:
//This is my second question
//
void setName(string x){
name = x;
}
string getName(){
return name;
}
};
int main(){
Variable Voject;
Voject.setName("Hello");
cout << Voject.getName() << endl;
return 0;
}
首先,代码运行完美。不幸的是,当我在观看教程的时候,老兄并没有明确告诉你为什么要将所有变量作为一个私有类放在课堂上(他说这对程序员来说是一个糟糕的习惯,你永远不应该把变量放在公共课)。请给我一个解释。
另一个问题是当你想要获取你应该设置的私有类中的变量并获取变量时。那么你真的应该把函数setName和getName的名字?还是只是为了容易记住。 PS。我是新手所以请尽量简单地回答。
答案 0 :(得分:0)
Getters和setter在C ++中并不是真正的惯用语,更常见的是让成员公开。 getter和setter的目的是允许将值与其对对象的影响分离,从而在需要时允许更复杂的代码,以保持一致的状态,例如。
有关C ++中getter和setter实用程序的一些有趣评论,请参阅Getting Abstractions。 TL; DR:getter和setter只比公共变量更好,尝试使用更高级别的抽象。
答案 1 :(得分:0)
私人变量
您不希望其他程序自由设置变量,这可能会导致副作用。您可能希望在设置或获取变量时进行一些检查。
getter and setters
在C ++中,他们没有固定的名称规则,您可以根据需要为其命名,只需使用某些约定,例如google coding style for c++
答案 2 :(得分:0)
这是我为您的问题提供的一些信息,