首页 > 解决方案 > 我必须定义两个与类相关的函数

问题描述

1.我有一个包含类的任务,我必须返回在给定地址(作为参数)拥有超过 10 个房间的酒店我这样做了,但我不确定它是否正确:

int findHotel([], string add)
{
    for (int i = 0; i < 10; i++)
    {
        if (hotels[i].getName() == na)
            hotels[i].print();
    }
}

2.返回至少有10个房间有wifi的酒店的功能。

标签: c++classoop

解决方案


上面说的有很多问题。

首先

int findHotel([], string add)

[]这样的语法是不合法的。我猜你的意思是

int findHotel(Hotel hotels[], string add)

您的酒店等级的名称在哪里Hotel(对不起,我猜,但您没有说它是什么)。

第二

if (hotels[i].getName() == na)

na未声明,我不确定您的意思。无论如何,您的要求是在给定地址拥有超过 10 间客房的酒店。这与酒店名称无关。你的if陈述需要完全不同的东西。就像是

if (hotels[i].getAddress() == add && hotels[i].getNumberOfRooms() > 10)

我再次猜测是因为您没有发布酒店等级的定义,而是发布了类似的内容。

最后

hotels[i].print();

打印酒店等于退回酒店。对于新手来说,困惑是很常见的事情。返回意味着函数必须将数据返回给函数调用者,而不是打印出来。所以你的功能需要改成返回,而不是打印,所有有一定地址和10个以上房间的酒店。有很多不同的方法可以做到这一点,但这个答案已经足够长了,所以看看你的 C++ 书,它解释了如何从函数返回值。

最简单的方法是将酒店放入向量中并返回。


推荐阅读