- const在函数中的应用时,修饰参数时放在参数前,修饰函数时放在函数后。如:
const int& get_m_n(const int i) const {
return i;
}
- 这理解起来很简单,但是在使用时要是需要注意一些细节的,下面是一个错误的例子:
#include<iostream>
using namespace std;
class Fraction
{
public:
Fraction(int num,int den = 1)
:m_numerator(num),m_denominator(den) { }
int& get_m_n() {return m_numerator;}
int& get_m_d() {return m_denominator;}
Fraction& operator+(const Fraction& f){
int m_n;
int m_d;
m_n = m_numerator*f.m_denominator + m_denominator*f.m_numerator;
m_d = m_denominator*f.m_denominator;
m_numerator = m_n;
m_denominator = m_d;
return *this;
}
private:
int m_numerator;
int m_denominator;
} ;
ostream& operator<< (ostream& os,const Fraction& f){
os << f.get_m_n() << '/' << f.get_m_d();