C++ 静态类型与动态类型

静态类型

编译时的类型,运行前就确定了,是变量声明时的类型或表达式生成的类型

动态类型

运行时才确定的类型,是变量或表达式表示的内存中的对象的类型

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);

三个表达式均为静态类型可能与动态类型不同

猜你喜欢

转载自blog.csdn.net/CV2017/article/details/88074639