这段程序会输出什么?

来自 继承
C++23 进阶 2分钟

这段程序会输出什么?

C++
#include <iostream>
#include <string>

class Message {
public:
    virtual std::string kind() const { return "base"; }
    virtual ~Message() = default;
};

class Alert : public Message {
public:
    std::string kind() const override { return "alert"; }
};

void by_value(Message message) { std::cout << message.kind() << '\n'; }
void by_reference(const Message& message) { std::cout << message.kind() << '\n'; }

int main() {
    Alert alert;
    by_value(alert);
    by_reference(alert);
}
在试验场中打开
报告错误