/*
总结:
1. 常量数据成员,形式:const Type m_tData;
1 )常量数据成员,需要在构造函数列表中给出,构造函数中可以用常量赋值,也可以实例化的时候赋值。
2)赋值函数中不能赋值,起到保护常量数据成员的作用,和友元作用相反。
2. 常量成员函数,形式:type funname(type1 arg1,type2 arg2,...) const
1)常量成员函数,不能修改类数据成员,不能调用非常量函数。
2) 常量成员函数的作用,可以有效的将类的函数分为可以修改类的函数,和不能修改类的函数;以后应该善于使用常量成员函数。
3. 返回常量的函数,可以是常量指针,指针常量,常量,形式:
const type* funcname(type1 arg1,type2 arg2, ..)
type* const funcname(type1 arg1,type2 arg2, ..)
const funcname(type1 arg1,type2 arg2, ..)
他们的返回类型对于使用不是重要的,重要的是赋给的对象的类型决定了后续能够进行的操作
总结:
1. 常量数据成员,形式:const Type m_tData;
1 )常量数据成员,需要在构造函数列表中给出,构造函数中可以用常量赋值,也可以实例化的时候赋值。
2)赋值函数中不能赋值,起到保护常量数据成员的作用,和友元作用相反。
2. 常量成员函数,形式:type funname(type1 arg1,type2 arg2,...) const
1)常量成员函数,不能修改类数据成员,不能调用非常量函数。
2) 常量成员函数的作用,可以有效的将类的函数分为可以修改类的函数,和不能修改类的函数;以后应该善于使用常量成员函数。
3. 返回常量的函数,可以是常量指针,指针常量,常量,形式:
const type* funcname(type1 arg1,type2 arg2, ..)
type* const funcname(type1 arg1,type2 arg2, ..)
const funcname(type1 arg1,type2 arg2, ..)
他们的返回类型对于使用不是重要的,重要的是赋给的对象的类型决定了后续能够进行的操作