zoukankan      html  css  js  c++  java
  • OOP练习

    #include <iostream>
    using namespace std;
    class ta
    {
    public:
     ta()
     {
      cout<<"ta create"<<endl;
     }

     virtual void fun(void)
     {
      cout<<"ta"<<endl;
     }
     virtual ~ ta()
     {
      cout<<"ta die"<<endl;
     }
    protected:
    private:
    };

    class tb :public ta
    {
    public:
     tb()
     {
      cout<<"tb create"<<endl;
     }

     virtual void fun(void)
     {
      cout<<"tb"<<endl;
     }
     virtual ~tb()
     {
      cout<<"tb die"<<endl;
     }
    protected:
    private:
    };
    int main(void)
    {
        ta *a = new tb;
     //tb b;
     //a = &b;
     //a->fun();
     delete a;
     return 0;
    }

    DELPHI代码

    type
      Ta = class
      public
        constructor create();
        procedure Test; virtual;
        destructor Destroy; override;
      end;

      Tb = class(Ta)
        constructor create();
        procedure Test; override;
        destructor Destroy; override;
      end;

      procedure TForm1.Button1Click(Sender: TObject);
    var
      I: Ta;
      J: Tb;
    begin
      I := Tb.create;
      //I := J;
      //I.Test;
      I.Free;
    end;

    { Ta }

    constructor Ta.create;
    begin
      ShowMessage('TA');
    end;

    destructor Ta.Destroy;
    begin
      ShowMessage('TA');
      inherited;
    end;

    procedure Ta.Test;
    begin
       ShowMessage('TA');
    end;

    { Tb }

    constructor Tb.create;
    begin
      inherited ;
      ShowMessage('TB');
    end;

    destructor Tb.Destroy;
    begin
      ShowMessage('TB');
      inherited;
    end;

    procedure Tb.Test;
    begin
      ShowMessage('TB');
    end;

    end

    结论: 

        在构造函数里,C++正常定义就代替了DELPHI的 inherited  的作用

              析构函数一定要定义成虚函数,要不不会释放的 ,并将其置为nil

    这俩门语言还是有所区别的

  • 相关阅读:
    ubuntu18.04安装ssh服务
    跳转
    【WinForm】—窗体之间传值的几种方式
    使用jQuery完成复选框的全选和全不选
    VS2015下载安装随笔记录
    关于c#数据类型,类型转换,变量,常量,转义符。
    浅谈表单同步提交和异步提交
    form表单提交和跳转
    2019年8月19日矩阵
    C# WinForm快捷键设置技巧
  • 原文地址:https://www.cnblogs.com/chengxin1982/p/1404338.html
Copyright © 2011-2022 走看看