1. 泛化(Generalization)
在c++中对应继承,如B是A的泛化,在C++中表现为:
<pre name="code" class="cpp"><span style="font-family: Arial, Helvetica, sans-serif;">class B : public A</span>
{ <span style="font-family: Arial, Helvetica, sans-serif;"> public:</span>
<span style="white-space:pre"> </span>B() {} virtual ~B() { }
}
在C++中对应,对应是虚拟函数的概念,如B实现了A,是实现了A中虚拟函数的具体功能(接口),在C++中表现:
class A { public: A() {} virtual ~A() {} virtual void fun(int x,int y) =0; };
<pre name="code" class="cpp"><span style="font-family: Arial, Helvetica, sans-serif;">class B : public A</span>
{ <span style="font-family: Arial, Helvetica, sans-serif;"> public:</span>
<span> </span>B() {} virtual ~B() {}
<pre name="code" class="cpp"><span style="white-space:pre"> </span>virtual void fun(int x,int y);
}
<pre name="code" class="cpp"><pre name="code" class="cpp">class B { public: B() {} virtual ~B() {} void fun(A *m_A); }
<pre name="code" class="cpp"><span style="font-family: Arial, Helvetica, sans-serif;">class B </span>
{ <span style="font-family: Arial, Helvetica, sans-serif;"> public:</span>
<span> </span>B() {} virtual ~B() {}
<span> </span>A *m_A;
}
<pre name="code" class="cpp"><span style="font-family: Arial, Helvetica, sans-serif;">class B </span>
{ <span style="font-family: Arial, Helvetica, sans-serif;"> public:</span>
<span> </span>B() {} virtual ~B() {}
<span> </span>A m_A;
}
原文地址:http://blog.csdn.net/hitzjm/article/details/46645631