12 3 void Date showdatavoid cout month day

  • Slides: 21
Download presentation

12 제 3 절 연산자 함수 • 연산자 함수 - 계속 void Date: :

12 제 3 절 연산자 함수 • 연산자 함수 - 계속 void Date: : showdata(void) { cout << month << “/” << day << “/” << year; } void main(void) { Date a(4, 1, 99), b; cout << “The initial data is “; a. showdate( ); b = a + 284; // b = a. operator+(284); 연산자 함수 호출 cout << “nnew data is “; b. showdate; }

19 제 5 절 클래스 상속 • 파생 클래스의 예 Class Circle // 베이스

19 제 5 절 클래스 상속 • 파생 클래스의 예 Class Circle // 베이스 클래스 { protected: double radius; public: Circle (double r = 1. 0) { radius = r; } double calval(void) { return (pi*radius); } }; Class Cylinder : public Circle // 파생 클래스 { protected: double length; public: Cylinder(double r = 1. 0, double l = 1. 0): Circle(r), length(1) { } double calval (void) ; // 함수 재정의 }; double Cylinder: : calval(void) { return (length*Circle: : calval( )); }

21 제 5 절 클래스 상속 • 다형성 지원을 위한 가상 함수 사용예 class

21 제 5 절 클래스 상속 • 다형성 지원을 위한 가상 함수 사용예 class One { protected: float a; public : One(float); virtual float f 1(float); float f 2(float); }; One: : One(float val = 2) { a = val; } float One: : f 1(float num) { return (num/2); } float One: : f 2(float num) { return (pow(f 1(num), 2)); } class Two: public One { public : virtual float f 1(float); }; float Two: : f 1(float num) { return (num/3); } void main(void) { One object_1; Two object_2; One *ptr; ptr = &object_1; cout << “object_1” << ptr->f 1(12) << endl; ptr = &object_2; cout << “object_2” << ptr->f 1(12 ) << endl; }