2772 . 单选题

运行下列代码,屏幕上输出

#include <iostream>
using namespace std;

class shape {
protected: 
  int width,height;
public: 
  shape(int a = 0, int b = 0) {
        width = a;
        height = b;
    }
    virtual int area() {
        cout << "parent class area: " << endl;
        return 0;
    }
};

class rectangle: public shape {
public: 
  rectangle(int a = 0, int b = 0): shape(a, b) {}

    int area() {
        cout << "rectangle area: ";
        return (width * height);
    }
};

class triangle: public shape {
public: 
  triangle(int a = 0, int b = 0): shape(a, b) {}

    int area() {
        cout << "triangle area: ";
        return (width * height / 2);
    }
};

int main() {
    shape * pshape;
    rectangle rec(10, 7);
    triangle tri(10, 5);

    pshape = & rec;
    pshape -> area();

    pshape = & tri;
    pshape -> area();
    return 0;
}