#include "TGraph.h" #include "TH1.h" #include "TF1.h" #include "TCanvas.h" #include class TGraphC: public TGraph{ public: TGraphC(){ std::cout << "TGraphC" << std::endl; } ~TGraphC(){ std::cout << "~TGraphC" << std::endl; } ClassDef(TGraphC, 1); // TGraphC }; class TH1FC: public TH1F{ public: TH1FC(): TH1F("h","h", 10, 0, 1){ std::cout << "TH1FC" << std::endl; } ~TH1FC(){ std::cout << "~TH1FC" << std::endl; } ClassDef(TH1FC, 1); // TH1FC }; class TF1C: public TF1{ public: TF1C(): TF1("f", "1", 0, 1){ std::cout << "TF1C" << std::endl; } ~TF1C(){ std::cout << "~TF1C" << std::endl; } ClassDef(TF1C, 1); // TF1C }; void Draw(){ TH1FC *h = new TH1FC; TGraphC *g = new TGraphC; TGraphC *g2 = (TGraphC*)(g->Clone()); TF1C *f = new TF1C; h->SetBit(kCanDelete); g->SetBit(kCanDelete); g2->SetBit(kCanDelete); f->SetBit(kCanDelete); TCanvas *c = new TCanvas; h->Draw(); // g->Draw("p"); g2->Draw("p"); f->Draw("SAME"); delete c; }