18.1 LAB (C++)

考试模拟题

Example Input
100

Example Output
No. 100 yellow bus.
No. 100 bus.

主程序 (不能修改)

#include "source.cpp"

class YellowBus : public Bus
{
public:
    YellowBus(int number) {
        setNumber(number);
    }
    void print() const {
        cout << "No. " << getNumber() << " yellow bus." << endl;
    }
};

void print1(const Bus & bus) {
    bus.print();
}

void print2(const Bus bus) {
    bus.print();
}

int main() {
    int number;
    cin >> number;
    YellowBus yellow(number);
    print1(yellow);
    print2(yellow);
}

参考答案

#include <iostream>
using namespace std;
class Bus{
    public:
    int data;
    void setNumber(int number){
        this->data=number;
    }
    int getNumber() const{
        return data;
    }
    virtual void print() const{
        cout << "No. " << getNumber() << " bus." << endl;
    }
};

答案

#include <iostream>
using namespace std;

class Bus
{
    int number;
public:
    virtual void print() const {
        cout << "No. " << number << " bus." << endl;
    }
    void setNumber(int number) {
        this->number = number;
    }
    int getNumber() const {
        return number;
    }

};
上一篇: 18.2 LAB (C++) 下一篇: 18.1 (C++)
支持 makedown语法