编译时的类型,运行前就确定了,是变量声明时的类型或表达式生成的类型
运行时才确定的类型,是变量或表达式表示的内存中的对象的类型
Quote* p = new b_Quote; // Quote 是基类,b_Quote 是子类
指针 p 的静态类型是 Quote,在编译时已经确定了,但它的动态类型是 b_Quote,运行时才知道
Bulk_quote bulk;
Quote* pQuote = &bulk;
Quote& pQuote = bulk;
double print_total(ostream& os, const Quote& item, size_t n);
三个表达式均为静态类型可能与动态类型不同