"c++难题实验报告"

 

class Person
{
    string name;
    int age;
    public:
        Person() {}
        Person(string n,int a) {name = n;age = a;}
        void print() {cout<<"name:"<<name<<",age:"<<age<<endl;}
};

class Circle
{
    float *r;
    public:
        Circle() {r = NULL;}
        Circle(float d) {r = new float; *r = d;}
        float area() {return 3.14159*(*r)*(*r);}
        ~Circle() { if(r != NULL) delete r;}
};

class Triangle
{
    int a,b,c;
    public:
        Triangle() {}
        Triangle(int a1,int b1,int c1) {a = a1; b=b1;c=c1;}
        virtual void print() {cout<<"三条边长为:"<<a<<","<<b<<","<<c<<endl;}
};

class EqlTriangle : public Triangle
{
    public:
        EqlTriangle() {}
        EqlTriangle(int a) : Triangle(a,a,a) {}
        void print() {cout<<"三条等边长为:"<<a<<endl;}
};


int main()
{
    Person p("zhangsan",19);
    p.print();
    Circle c(10.0);
    cout<<"area="<<c.area()<<endl;
    Triangle t(3,4,5);
    t.print();
    EqlTriangle e(5);
    e.print();
    return 0;
}