派生类中重写某成员函数如下:
class A
{
public:
virtual void WriteTo(BinaryOutputStream &os) const = 0;
};
template
class B : public A
{
public:
virtual void WriteTo(BinaryOutputStream &os) const override
{
T data =value_;
if (encode_type_ == icdmap::signal::EncodeType::ENCODE_BCD){
data = BcdEncode
}
os.WriteNumeric
}
template
T BcdEncode(T dec_value)const {return (T)0;}
private:
T value_;
};
1. override时,函数声明必须完全不变,否则报错。
2. 在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数,编译器将指出错误。