C++關於類成員函數定義位置區別
類成員包括數據成員(通常private)和成員函數(通常public)。成員函數能夠訪問類私有數據成員函數
將成員函數定義在類內:
代碼示例:spa
//student.h作用域
class studentclass
{數據
private:di
double height;文件
double weight;co
public:void
student(double h,double w);
void show()
{
cout<<'height='<<height<<endl;
cout<<'weight='<< weight <<endl;
}
};//由於是類聲明因此有;
解釋:定義在類聲明內,默認是inline函數,不須要再添加其餘關鍵字(如inline,::等)
寫進類聲明文件中:
代碼示例:
//student.h
class student
{
private:
double height;
double weight;
public:
student(double h,double w);
void show();//聲明函數,有;
};
inline void show()//定義函數,沒有;
{
cout<<'height='<<height<<endl;
cout<<'weight='<< weight <<endl;
}//定義函數,沒有;
說明:須要添加inline關鍵字
單獨寫進類成員函數實現文件中(.cpp)
代碼示例:
//student.h
class student
{
private:
double height;
double weight;
public:
student(double h,double w);
void show();
};
//student.cpp
student::student(double h,double w)
{
weight=w;
height=h;
}
void student:: show()
{
cout<<'height='<<height<<endl;
cout<<'weight='<< weight <<endl;
}
解釋:須要標註類做用域符號::