如何从函数返回类成员的指针
How to return a pointer of a class member from a function
我创建了一个名为Room
的类,如下所示
#ifndef ROOM_H
#define ROOM_H
#include <string>
class Room
{
private:
std::string name;
std::string description;
Room* south;
Room* north;
Room* east;
Room* west;
public:
//CONSTRUCTOR
Room();
Room(std::string name, std::string desc);
//METHODS
std::string getName();
std::string getDescription();
void link(Room *r, std::string direction);
Room *getLinked(std::string direction);
void printLinked();
~Room();
};
#endif // ROOM_H
/*************************************************************************/
void Room::link(Room *r, std::string direction)
{
if (direction == "south")//THIS IS JUST FOR TEST
{
this->south = this->getName();
}
}
/*************************************************/
Room Room::*getLinked(std::string direction)
{
return south;
}
这是我在getLinked
方法中的问题,我如何返回指针(例如south
, north
, east
, west
)
您实际上是在问Room::getLinked()
函数的正确定义语法是什么?
好吧,给你:
Room* Room::getLinked(std::string direction) {
if(direction == "south") {
return south;
}
// ... the other directions
return nullptr;
}
相关文章:
- 从成员指针到整个结构/类的强制转换
- OOP 中的单成员指针
- 使用结构成员指针在C++中填充结构
- 聚合初始化,将成员指针设置为同一结构成员
- 空指针常量 (nullptr)、空指针值和空成员指针值之间有什么区别?
- 共享 C++ 的数据成员指针
- 如何声明指向成员内容的成员指针m_pmd/m_pmf并访问它们?
- 从类C++外部调用指向成员方法的成员指针
- 结构成员指针是否自动初始化为零?
- 如何删除类内类类型的类成员指针
- 是否打印指向已定义 int 的成员指针
- 指向常量的成员指针
- 通过此指针访问时的成员差异和自身的成员指针(简单的 QT 示例问题)
- 类数据成员指针的非类型模板参数包无法使用 gcc 编译
- 为什么我不能在同一行中定义两个相同类型的类的成员指针
- 将类成员指针传递给 Lambda 捕获列表 c++11
- 在单一实例类中将成员指针设置为 null 的正确方法是什么
- 无法删除在destructor中的成员指针的课程
- 删除对象而不调用成员指针的析构函数
- 当派生类的基类具有成员指针时,对其进行深层复制