【发布时间】:2020-04-14 05:50:04
【问题描述】:
如何使用 Class 2 中的指针访问姓氏
class Person
{
public:
Person(string firstname, string lastname);
private:
string firstname;
string lastname;
};
我的班级 2
class Account
{
public: Person getPersonName();
private: const Person* person_;
}
应返回姓氏的.cpp 文件
Person Account::getPersonName()
{
return person_?;
}
【问题讨论】:
-
真的很像XY problem。你到底想完成什么?
-
我希望 getPersonName() 返回姓氏。这种方式不可能吗?我需要姓氏的吸气剂吗?
-
私有成员只能从类内部访问(某些代码,例如 getter)。不是其他类,甚至不是该类的实例。
-
我创建了一个 getter 字符串 Person::getLastName() { return lastname_; } 并尝试访问它 Person *Account::getPersonName() { return person_->getLastName();但它不起作用,因为指针是 const 我可以以某种方式访问它吗?
-
声明为
string Person::getLastName() const。注意尾随的常量。并阅读 C++ 中 const 方法与 const 引用/指针/对象的全部内容。