语法解释(1)-基本概念 wyangzw/examples/Lec2/example23/CGrammarCXX //My first C++ program //fox循环 //注释:好的注释的程序的重要部分 for(inti=0;<10;++) /头文件, iostream负责输入输出 Nest+ti 提供 cout, cin等基本函数 //主判断语句 #include <iostream> if(Nevt>l5)i /使用std名字空间 cou七<< NEwt: using namespace std < Nevt < std:: endl //主函数,返回整型值。必须 )//end of if int minot )//end of for i<10 //屏幕输出He1]o字符串和换行符 std:: cout < WHellon //为主函数返回整型值 < endl return o //整型、浮点型、双精度变量 int Next=20 注 float px=10.0; 函数或者循环语句要放在大括号{ double mass=3.1 里 90z ti/29 cgram. exe CGrammar CXX 16
2021/1/29 16 语法解释(1)--基本概念 ~yangzw/examples/Lec2/example23/CGrammar.cxx //My first C++ program //注释:好的注释的程序的重要部分 //头文件,iostream负责输入输出 //提供cout,cin等基本函数 #include <iostream> //使用std名字空间 using namespace std; //主函数,返回整型值。必须 int main(){ //屏幕输出Hello字符串和换行符 std::cout << "Hello" << endl; //整型、浮点型、双精度变量 int Nevt=20; float px=10.0; double mass=3.1; //for循环 for (int i=0;i<10;i++){ Nevt++; //if判断语句 if(Nevt>15){ cout << “Nevt: ” << Nevt << std::endl; }//end of if }//end of for i<10 //为主函数返回整型值 return 0; } 注: 函数或者循环语句要放在大括号{} 里。 g++ -o cgram.exe CGrammar.cxx
语法解释(2)-类的定义 wyangzw/examples/Lec2/example22/include/volCuboid h //###类 Volcuboid#### //####计算体积#### # ifndef VOLCUBOID H//防止重复引用 define VOLCUBOID H #include <iostream> c] ass volCuboid//类的名称 //公共的变量或函数,可以外部调用 public: VolCuboid( float x, float y,红 loat z);//构造函数 ~ VolCuboid();/析构函数,删除动态指针、成员函数等 f] oat vo1();//成员函数,实现某种功能 //私有的变量或函数,供类内部使用 private float length, width, height };//注意这里有个分号 fendi 2021/1/29
2021/1/29 17 //####类VolCuboid###### //####计算体积#### #ifndef VOLCUBOID_H //防止重复引用 #define VOLCUBOID_H #include <iostream> class VolCuboid { //类的名称 //公共的变量或函数,可以外部调用 public: VolCuboid(float x, float y, float z); //构造函数 ~VolCuboid(); //析构函数,删除动态指针、成员函数等 float Vol(); //成员函数,实现某种功能 //私有的变量或函数,供类内部使用 private: float length, width, height; }; //注意这里有个分号 #endif 语法解释(2)--类的定义 ~yangzw/examples/Lec2/example22/include/VolCuboid.h
语法解释(3)-类的函数 wyangzw/examples/Lec2/example22/src/VolCuboid CC //引用类的定义 include volcuboid, h //构造函数 Volcuboid,必须与类的名字一样。 //需要立方体长宽高三个参数 VolCuboid: VolCuboid (float x, float y, float zt length = x width =y i Ight= zi /析构函数~ Volcuboid(,啥也没做。 Vol Cuboid: N Vol cuboid i //new pointers should be deleted here. //if not, do nothing. //成员函数volO,计算并返回立方体体积。 float Volcuboid: Volo t return length *width*height; 用类定义对象 Vol Cuboid my Cuboid(3, 4,5) 或者2949oid* my Cuboid= new Volcuboid(3,4,5);1
2021/1/29 18 //引用类的定义 #include "VolCuboid.h" //构造函数VolCuboid,必须与类的名字一样。 //需要立方体长宽高三个参数 VolCuboid::VolCuboid(float x, float y, float z) { length = x ; width = y ; height = z ; } //析构函数~VolCuboid(),啥也没做。 VolCuboid::~VolCuboid() { //new pointers should be deleted here. //if not, do nothing. } //成员函数vol(),计算并返回立方体体积。 float VolCuboid::Vol() { return length*width*height; } 语法解释(3)--类的函数 ~yangzw/examples/Lec2/example22/src/VolCuboid.cc 用类定义对象: VolCuboid myCuboid(3,4,5); 或者 VolCuboid *myCuboid = new VolCuboid(3,4,5);
语法解释(4)--主程序 wyangzw/examples/Lec2/example22/src/ex22 CC 主程序:用类 Vol cuboid计算体积 //###ex22c######## include定义类vo| Cuboid的头文件 include <iostream> include volcuboid h using namespace std; 定义立方体长宽高 int main ot std:: cout < exercis-."<< endl; float length width height length =2.0://cm 类 Volcuboid构造其对象 width =3.0;//cm height =4.0;//cm VolCuboid my VolCuboid( length, width, height)调用成员函数volO float volume my VolCuboid Volo 计算体积。 cout < volume: << volume < endl } 注:若用new指针方式构造对象: Volcuboid* my Cuboid= new volcuboid(3,45); 则函数调用需要用”->“而不是"": float volume= myVolCuboid->Vo( 2021/1/29 19
2021/1/29 19 //####ex22.cc########## #include <iostream> #include "VolCuboid.h“ using namespace std; int main () { std::cout << "exercise 22..." << endl; float length, width, height; length = 2.0 ; //cm width = 3.0 ; //cm height = 4.0 ; //cm VolCuboid myVolCuboid( length, width, height ); float volume = myVolCuboid.Vol() ; cout << "Volume:" << volume << endl; } 语法解释(4)--主程序 ~yangzw/examples/Lec2/example22/src/ex22.cc 主程序:用类VolCuboid计算体积 注:若用new指针方式构造对象:VolCuboid *myCuboid = new VolCuboid(3,4,5); 则函数调用需要用”->”而不是”.”:float volume = myVolCuboid->Vol(); 用类VolCuboid构造其对象 定义立方体长宽高 include定义类VolCuboid的头文件 调用成员函数Vol() 计算体积
运行ROOT程序包 ROOT是有CERN开发的数据分析处理软件包,兼容C++语法, 本身带cint编译器,可以自动编译执行C++代码。多数情况 下,将C++的命令行直接放到大括号{}中就可以在ROOT 环境下运行 ROOT安装在$ ROOTSYS目录。 进入ROOT环境:root或者root- 退出ROOT环境:.q 运行程序段如 hello.C:root- I hello.C 官网http://root.cernch Windows版本下载,双击安装即可 ftp: //root. cern. ch /root/root_v5.28.00a win 32. msi 2021/1/29 20
2021/1/29 20 运行ROOT程序包 ROOT是有CERN开发的数据分析处理软件包,兼容C++语法, 本身带cint编译器,可以自动编译执行C++代码。多数情况 下,将C++的命令行直接放到大括号{}中就可以在ROOT 环境下运行 ROOT安装在$ROOTSYS目录。 进入ROOT环境:root 或者root -l 退出ROOT环境:.q 运行程序段如hello.C: root –l hello.C 官网: http://root.cern.ch Windows版本下载,双击安装即可 ftp://root.cern.ch/root/root_v5.28.00a.win32.msi