zds212 发表于 2021-5-6 19:53

cpp 关于基类和派生类 函数名和属性重复的练习以及调用和析构的运行顺序。

本帖最后由 zds212 于 2021-5-7 22:31 编辑

#include<iostream>
using namespace std;

class a
{
public:
      a()
      {
                cout<<"a类的构造"<<endl;
      }
      void aaa()
      {
                a1 = 10;
      }
      ~a()
      {
                cout << "a类的析构" << endl;
      }
      int a1;
};
class b :public a
{
public:
      b()
      {
                cout << "b类的构造" << endl;
      }
      void aaa()
      {
                a1 = 30;
      }
      ~b()
      {
                cout << "b类的析构" << endl;
      }
                int a1;
};
void test()
{
      b b1;
      b1.aaa();
      b1.a::aaa();
      cout<<"b类里的a1="<<b1.a1 << endl;
      cout << "a类里的a1=" << b1.a::a1 << endl;
}
int main()
{
      test();
      system("pause");
      return 0;
}

tlf 发表于 2021-5-6 20:35

zds212 发表于 2021-5-7 08:45

tlf 发表于 2021-5-6 20:35
C++的标记一下

好的 。 下次注意!

jiale625 发表于 2021-5-14 17:39

sunkang2021 发表于 2021-7-22 16:08

其实关于关于继承的构造,析构顺序很好理解。构造的顺序必然是先父类再子类。析构则是先子类再父类。注意,析构函数需要时virtual
页: [1]
查看完整版本: cpp 关于基类和派生类 函数名和属性重复的练习以及调用和析构的运行顺序。