c++ 你如何实现一个有关系?
Posted
技术标签:
【中文标题】c++ 你如何实现一个有关系?【英文标题】:c++ how do you implement a has relationship? 【发布时间】:2020-05-03 12:34:37 【问题描述】:例如: 我有很多预订: 该类有开始/结束日期和一个给我日期的函数。
class reservation
private:
datetime start;
datetime end;
public:
reservation(stardatetime, enddatetime): start(stardatetime), end(enddatetime)
std::list<std::string> get_reservation()
for example: return start;
;
我有一个班级会议室,可以随时预订。
class room
private:
int room_ID;
public:
room(int id):room_ID(id)
void get_room()
return room_id;
这意味着每个房间都有多个预订。 如何通过预订通过房间 ID 访问? 如果我搜索房间 id 1,也会显示房间的预订情况。
谢谢。
【问题讨论】:
也许在reservation
类中添加一个int room_id;
字段?
能否请您向我解释更多,我仍然是初学者,很乐意收到更多信息。谢谢:)
【参考方案1】:
这是您的问题陈述:每个房间都有很多预订,每个预订都引用一个房间。基于此,我将其编写如下(您可以在这些类中添加您的东西)。
#include <iostream>
#include <vector>
using namespace std;
class Room; //forward declaration
class Reservation
private:
Room* room;
public:
Reservation(Room* roomPtr)
room = roomPtr;
;
class Room
vector<Reservation> reservations;
;
int main()
Room room[10]; //an array of 10 rooms with no reservations (calls def.constructor of each Room)
Reservation r1(&room[0]); //reservation object r1 reserving room[0]
Reservation r2(&room[1]); //reservation object r2 reserving room[1]
// ...more stuff goes here
【讨论】:
我还是不明白。程序如何知道哪个预订属于哪个房间?对不起,我还是个初学者。我应该如何处理预订班的房间? 对于任何特定的预订,您只需要调用一个特定的公共函数(不包括在我上面的示例中),它将返回其指针的副本,该指针指向它已保留的 Room 对象。 IE。Room* getRoom() return room;
以上是关于c++ 你如何实现一个有关系?的主要内容,如果未能解决你的问题,请参考以下文章