【问题标题】:What is the purpose of set here? [closed]在这里设置的目的是什么? [关闭]
【发布时间】:2014-10-27 15:54:26
【问题描述】:
class person
{
private: 
string name;
int birth_year;
char sex;
public:
person()
{ 
    string name; cout<<"Name: "; cin>>name; set_name(name);
    int birth_year; cout<<"Birth year: "; cin>>birth_year; set_birth_year(birth_year);
    char sex; cout<<"Sex: "; cin>>sex; set_sex(sex); 
}
~person() { }

set_name(name) 在这里做什么?

【问题讨论】:

  • 这里引用的不是std::set(或任何其他set 数据结构),它是函数名称的一部分,用于设置人的姓名(我猜)和性别。如果你在课堂上往下看,我敢打赌你会在那里找到这些功能。搜索 setter 和 getter 模式。
  • 它描述了一种改变变量的方法。例如,如果你想在你的自行车上多放 2 个轮子,你会遵循一种方法来实现它,你不会只是神奇地宣称你现在拥有一辆 4 轮自行车。新值是某些操作的结果。

标签: c++ oop


【解决方案1】:

我认为set_nume是类的成员函数,它将类(类的对象)的数据成员nume设置为局部变量nume的值(由用户输入) 作为函数的参数传递。也许这个成员函数会检查 nume 的有效性。例如,该函数可以将 nume 的第一个字母转换为大写,将所有其他字母转换为小写,依此类推。您应该查看该函数以了解它的作用(它可以简单地将数据成员nume 设置为参数nume,就像this->nume = nume)。通常这样的成员函数被称为setter。它们具有公共访问控制并允许设置类的私有数据成员。

【讨论】:

    猜你喜欢
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 2013-10-15
    • 2020-11-23
    相关资源
    最近更新 更多