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