C++的动态联编与虚函数


前言

函数名联编(binding):将源代码中的函数调用解释为执行特定的函数代码块的过程。

静态联编:在编译过程中进行联编叫作静态联编。

动态联编:程序运行时才选择需要执行的代码叫作动态联编。


friend友元


前言

作用:友元类的所有方法友元函数 可以访问原始类的私有成员保护成员

友元类的声明:friend class [classname];

友元函数的声明:friend [functype] [funcname] ([arglist]);

声明位置:友元声明的位置并不重要,可以public、privated和protected——没有任何区别。

什么时候考虑友元:你不是我(非同一个类),也不是我身体的一部分(不是类的成员),但你可以用我的东西(被保护【protected】起来、被保密【privated】起来的成员)。


Strategy策略模式


前言

关于策略模式我有以下几个问题想问:

  • 什么是策略模式?
  • 为什么需要策略模式(也就是什么情况下使用策略模式)?
  • 策略模式的优点是什么?
  • 策略模式的缺点是什么?

策略模式期望策略在运行时被加载,而不是编译时加载。