MoreEffective[3]


MoreEffective[3]

※배열과 다형성은 같은 수준으로 놓고 볼 것이 아니다class BST { ... }; class BalancedBST : pubic BST { ... }; void printBSTArray(ostream$ s, const BST array[], int numElements) { for(int i = 0; i< numElements; i++) s << array[i]; } operator << 연산자 함수는 이미 정의되어 있다고 가정 BST BSTArray[10]; printBSTArray(cout, BSTArray, 10); // 잘 동작함 BalancedBST bBSTArray[10]; printBSTArray(cout, bBSTArray, 10); array[i] --> *(array+i) 객체 사이의 거리 (i+sizeof(BST)) bBSTArray를 매개변수로 함수를 호출 할때에는 (i+sizeof(BalancedBST))여야 정상 작동함. delete 하는 함수를 만들어서..........



원문링크 : MoreEffective[3]