제목 : 20.6. 현재까지 배웠던 내용 총 복습
글번호:
|
|
172
|
작성자:
|
|
레드플러스
|
작성일:
|
|
2005/08/22 오후 2:47:40
|
조회수:
|
|
3686
|
#include <iostream.h>
//클래스
class Common{
private:
//필드
int i;int intSum;int intCount;
protected:
//intSum 자식 공개
void SetIntSum(int temp){
intSum += temp;
}
//intCount 자식 공개
int GetIntCount(){
return intCount;
}
public:
//생성자
Common(){
i = 0;intSum = 0;intCount = 100;
}
//생성자 중복
Common(int intCount){//혼동.
i = 0;intSum = 0;
Common::intCount = intCount;
}
//메서드(함수)
virtual void Execute(){
for(i = 1;i <= intCount;i++){
intSum += i;
}
}
//intSum 필드 공개할 메서드->속성
int GetIntSum(){
return intSum;
}
//소멸자
~Common(){}
};
class EvenNumber : public Common{
public:
//매개변수가 없는 생성자:부모로 전달
EvenNumber() : Common(){}
//매개변수가 있는 생성자:부모로 전달
EvenNumber(int intCount)
: Common(intCount){}
//메서드 오버라이드(가상 함수):재정의
void Execute(){
int i = 0;
for(i = 1;i <= GetIntCount();i++){
if(i % 2 == 0){
SetIntSum(i);
}
}
}
};
void main(){
//Common클래스 : 1~n까지 합
Common common;
common.Execute();//합
cout << common.GetIntSum() << endl;
//EvenNumber클래스 : 1~n까지 짝수합
EvenNumber objEvenNumber;
objEvenNumber.Execute();//짝수의 합
cout << objEvenNumber.GetIntSum() << endl;
}