【发布时间】:2013-12-14 20:53:22
【问题描述】:
在我声明了这个类之后:
class Person
{
private:
int age;
public:
void setAge(int age);
int getAge();
}
在 .h 文件中,我实现了 set 和 get 方法:
void Person::setAge(int age)
{
this->age = age;
}
int Person::getAge()
{
return age;
}
在 .cpp 文件中
在从另一个继承自“Person”类的“Employee”类预订对象后,我正在尝试从 main.cpp 文件访问 age 变量
Employee emp;
cin >> emp.age;
但我收到此错误:
成员 Person::age 无法访问
【问题讨论】:
-
这就是私人会员的意义所在。顺便说一句,它也可以像这样公开。让用户随时将年龄设置为他们想要的任何值(包括负数)真的有意义吗?年龄无法做到这一点。
-
还不如改成
unsigned char而不是int... -
@Mehrdad:好的,但这不会给你带来任何好处。
-
@NiklasB.:知道它不能为负数或太大,这让您感到舒适。从长远来看,更少的无效状态 == 更少的潜在错误。
-
@Mehrdad:使用无符号类型对我产生的错误比他们防止的要多,但这可能只是我自己
标签: c++