原创 常引用函数 常成员函数

2008-12-9 23:33 2404 7 5 分类: 工程师职场

#include<iostream.h>
class  K
{ public:
       K(int i) { k="i";}
       int  set1() const   { return k; }
       int  set2()   {return k;}
   private:
       int  k;
};



int add1(const K  &g1, const K &g2)

      int  sum= g1.set1( )+ g2.set1( );
      return  sum;
}


int add2( K  &g1,  K &g2)

      int  sum= g1.set1( )+ g2.set2( );
      return  sum;
}


void main( )

      K   k1(8), k2(17);
      int   s="add1"(k1, k2);
      int   y="add2"(k1,k2);
      cout<<s<<endl;
}
 
如上述代码中,常引用函数add()只能调用常函数set1(),不可调用普通成员函数set2()
而引用函数add2()既可以调用常函数set1(),还可以调用普通成员函数set2().
常成员函数中的k不能改变,而普通成员函数中的k则可以赋新值。


同理,未经const 说明的成员函数不能操作“常对象”;既若一个对象说明为“常对象”,
则它只能调用常成员函数,不能调用其他成员函数;
而一般对象既能调用常成员函数,也能调用其他成员函数;

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条