首先上类定义:
动态绑定实现~
基类:
1.Virtual关键字只能在类定义中,函数在声明之外单独定义的话,就不需要(也不能)在定义中重复使用Virtual关键字。
动态绑定实现~
得注意下 void SayHello(const Core &)函数的实现
1.参数是 const T(类型) & ,避免了向函数传递参数时进行复制的开销,同时这个引用的地方不能改变它的值。比如一个 const Vector & k ,那如果函数里写 k.push_back(2.0),就会报错
2.因为是const的参数,所以该引用是一个const Core 的引用,而const对象不能调用非const成员函数,所以前面的Core和Grade里的SayHello函数都声明为const成员函数。