zoukankan      html  css  js  c++  java
  • virtual destructor

    code 1. 

    #include <iostream>
    using namespace std;

    class Base {
    public:
    Base() {cout<<"Base constructor"<<endl;}
    ~Base() {cout<<"Base destructor"<<endl;}
    };

    class Derived:public Base{
    public:
    Derived() {cout<<"Derived constructor"<<endl;}
    ~Derived() {cout<<"Derived destructor"<<endl;}
    };

    int main()
    {
    Derived *p = new Derived;
    delete p;

    return 0;
    }

    ---------------------

    [tli]$ ./a.out
    Base constructor
    Derived constructor
    Derived destructor
    Base destructor

    code 2.

    #include <iostream>
    using namespace std;

    class Base {
    public:
    Base() {cout<<"Base constructor"<<endl;}
    ~Base() {cout<<"Base destructor"<<endl;}
    };

    class Derived:public Base{
    public:
    Derived() {cout<<"Derived constructor"<<endl;}
    ~Derived() {cout<<"Derived destructor"<<endl;}
    };

    int main()
    {
    Base *p = new Derived;
    delete p;

    return 0;
    }

    -----

    [tli]$ ./a.out
    Base constructor
    Derived constructor
    Base destructor

    code 3.

    #include <iostream>
    using namespace std;

    class Base {
    public:
    Base() {cout<<"Base constructor"<<endl;}
    virtual ~Base() {cout<<"Base destructor"<<endl;}
    };

    class Derived:public Base{
    public:
    Derived() {cout<<"Derived constructor"<<endl;}
    ~Derived() {cout<<"Derived destructor"<<endl;}
    };

    int main()
    {
    Base *p = new Derived;
    delete p;

    return 0;
    }

    [tli]$ ./a.out
    Base constructor
    Derived constructor
    Derived destructor
    Base destructor

  • 相关阅读:
    scrapy框架
    003-更改pip的源让下载安装更加快捷
    日志,序列反序列和正则表达式
    菜鸟的IT生活4
    IT菜鸟的3(for循环+分支语句)
    IT菜鸟的第2天(输入输出,数据类型,运算符的使用)
    IT菜鸟的第一天
    第二课笔记
    第一节课预习笔记
    第一节课作业
  • 原文地址:https://www.cnblogs.com/Torstan/p/2734657.html
Copyright © 2011-2022 走看看