상속의 기본 문법에서 보이듯이, 유도 클래스는 기초 클래스가 지니는 보든 것을 지니고, 거기에다가 유도 클래스만의 추가적인 특성이 더해진다.
이는 다음과 같이 재정의 할 수 있다.
그리고
is-a 관계 말고도 소유의 관계일 경우 상속이 형성된다.
class Gun
{
private:
int bullet;
public:
Gun(int bnum) : bullet(bnum){}
void Shot() ...
}
class Police : public Gun
{
private;
int handcuffs;
...
}
그런데 이러한 소유의 관계는 다른 방식으로도 얼마든지 표현이 가능하다.
class Police
{
Private:
Gun *pistol;
}
상속으로 묶인 두 개의 클래스는 강한 연관성을 띤다. 전기봉을 가지고 잇는경우 C++ 에서 지원하는 다중상속으로 대처가 가능하긴 하지만 매우 복잡해 진다.