C++类内部函数在外面定义怎么定义
来源:百度知道 编辑:UC知道 时间:2024/08/21 03:10:38
看类时弄不懂了,如下:
#include<iostream.h>
class ex
{
private:
int value;
public:
void set(int n);
int get(void);
};
int main()
{
ex a,exarray[10];
a.set(100);
cout<<"a.get()="<<a.get()<<endl;
for(int b=0;b<9;b++)
{
exarray[b].set(b);
}
exarray[9].set(53);
for(int c=0;c<10;c++)
{
cout<<"exarray["<<c<<"]="<<exarray[c].get()<<endl;
}
return 0;
}
ex:: get(void)
{
return value;
}
ex:: set(int n) //关键是这里,编译器老是出错
{
value=n;
}
帮看看,我只知道在类内部定义跟普通定义一样,但如果要在外面定义呢,怎么才能弄正确
10.1.2 类成员函数的定义
类的成员函数通常在类外定义,一般形式如下:
返回类型 类名::函数名(形参表)
{
函数体
}
双冒号::是域运算符,它主要用于类的成员函数的定义。
例如,例10-1的成员函数Point类的成员函数可定义为:
例10-5
1. void Point::SetPt (int x, int y)
2. {
3. xVal = x;
4. yVal = y;
5. }
6. void Point::OffsetPt (int x, int y)
7. {
8. xVal += x;
9. yVal += y;
10. }
11. int Point:: GetX ()
12. {
13. return xVal;
14. }
15. int Point:: GetY ()
16. {
17. return yVal;
18. }
正象全局函数可以定义为内联函数一样,类的成员函数也可以定义为内联的。例如,类Point的两个成员函数都很短(仅两个语句),如果定义为内联函数,可以提高执行效率。定义内联的成员函数只要在该成员函数定义前插入inline关键字即可:
inline void Point::SetPt (int x,int y)
{
xVal = x;
yVal = y;
}
定义内联函数一个更容易的方法是:将函数定义放在类的定义内。
class Point {
int xVal, yVal;
public:
int GetX (){return xVal ;}
int GetY (){return yVal;}
void SetPt (int x,int y)