永发信息网

C++类内部函数在外面定义怎么定义

答案:2  悬赏:30  手机版
解决时间 2021-11-09 05:01
C++类内部函数在外面定义怎么定义
最佳答案
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) { xVal = x; yVal = y; }
  void OffsetPt (int x,int y) { xVal += x; yVal += y; }
  };
  需要注意的是:由于函数体在类内,所以函数原型后不需要分号,且所有的函数参数必须有名的。
全部回答
class ex
{
private:
int value;
public:
void set(int n);
int get(void);
};
int ex::get(void)
{
return value;
}
void ex::set(int n) //关键是这里,编译器老是出错
{
value=n;
}
int main()
{
ex a,exarray[10];
a.set(100);
cout<<"a.get()="< for(int b=0;b<9;b++)
{
exarray[b].set(b);
}
exarray[9].set(53);
for(int c=0;c<10;c++)
{
cout<<"exarray["< }
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
铁力市伊春铁力市农夫粮品商贸有限公司地址在
根据粗略地推算的意思
做qc 要有什么条件
一个男的在你没看他的时候会偷偷看你,当你注
有没有像麦拉风生活漫画系列这类的漫画。也是
把VE涂在脸上,对皮肤有什么好处和坏处?
志邦申购何时公布中签
唯诺形象美发工作室地址在哪,我要去那里办事
江苏盐城权健华东总部是传销吗
亚克力攻丝会不会碎裂
怎么区别塌和蹋
姚店邮政所地址有知道的么?有点事想过去!
这个字是寿还是万
瑞祥公馆地址在什么地方,想过去办事,
小亮看一本书,第一天看了8页,第二天看了九页,
推荐资讯
香港房屋署电话
古言通讯你们有谁用过?好用吗?
元妃送东西给众姐妹,为什么宝玉和宝钗的是一
摩登荟贷款超市是免费的吗?
Thank you ,But the princess is in another
具备安全培训条件的生产经营单位,应当自主培
发动机1.01.2是什么意思
侠盗猎车手GTA5给技工打电话送的车需要自己购
男主穿越,发现自己变成了女的小说。
野狼高端模式是真的赚钱吗
a=30 2a=30 a =3o÷2
自适应可变悬挂可以适应到什么程度?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?