5.15

#include <iostream>

using namespace std;

class Object {

private:

    int weight;

public:

    Object() {

         cout << "构造Object对象" << endl;

         weight = 0;

    }

    int getWeight() {

         return weight;

    }

    void setWeight(int n) {

         weight = n;

    }

    ~Object() {

         cout << "析构Object对象" << endl;

    }

};

class Box :public Object {

private:

    int height, width;

public:

    Box() {

         cout << "构造Box对象" << endl;

         height = width = 0;

    }

    int getHeight() {

         return height;

    }

    void setHeight(int n) {

         height = n;

    }

    int getWidth() {

         return width;

    }

    void setWidth(int n) {

         width = n;

    }

    ~Box() {

         cout << "析构box对象" << endl;

    }

};

int main() {

    Box a;

    return 0;

}

7-10

#include <iostream>

using namespace std;

class BaseClass

{

public:

    void fn1();

    void fn2();

};

void BaseClass::fn1()

{

    cout << "调用基类的函数fn1()" << endl;

}

void BaseClass::fn2()

{

    cout << "调用基类的函数fn2()" << endl;

}

class DerivedClass :public BaseClass  {

public:

    void fn1();

    void fn2();

};

void DerivedClass::fn1()

{

    cout << "调用派生类的函数fn1()" << endl;

}

void DerivedClass::fn2()

{

    cout << "调用派生类的函数fn2()" << endl;

}

int main()

{

    DerivedClass aDerivedClass;

    DerivedClass* pDerivedClass = &aDerivedClass;

    BaseClass* pBaseClass = &aDerivedClass;

    aDerivedClass.fn1();

    aDerivedClass.fn2();

    pBaseClass->fn1();

    pBaseClass->fn2();

    pDerivedClass->fn1();

    pDerivedClass->fn2();

    return 0;

}

posted @ 2023-05-15 20:27  张佳木  阅读(51)  评论(0)    收藏  举报