如何解决关于指针、类和构造函数的问题
这是一个正在创建的基本直方图,但我的问题是 TH1F *hist=new TH1F("hist","Histogram",100,100); 我知道指针有助于存储指向对象的地址,而构造函数有助于将值输入到类中的对象,但是这一行发生了什么?是否创建了一个指针并将其定义为构造函数? “新”有什么用?
// Creating a histogram
void tut1()
// Void functions do not return values,simply prints a message so I assume our message here is the histogram,histograms display values but they are not themselves not values
{
TH1F *hist=new TH1F("hist",100);
// This is just a constructor
// TH1F is a inherited class from the base class TH1
//(the name of the histogram,the title of the histograms,number of bins,start of x axis,and ending paramater of x axis)
// Here we are accessing TH1F the capital F is for floats and we use this to use 1D histograms
// To Fill the histogram we use
hist->Fill(10);
hist->Fill(40);
// Add titles for the axis's
hist->GetXaxis()-SetTitle("X Axis");
hist->GetYaxis()-SetTitle("Y Axis");
TCanvas *c1 = new TCanvas();
hist->Draw();
// Tcanvas is used to draw our plot it is the window that is used to display our image
}
解决方法
变量 hist
是指向类型 TH1F
的指针。它被赋值给由构造函数创建的 TH1F
的新实例。
我注意到您的程序中缺少的一件事是相应的 delete
语句。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。