home *** CD-ROM | disk | FTP | other *** search
- // PROG4-8.CPP
-
- #include<stdio.h>
-
- ////////// Base Class
- //////////
- class Base
- { protected: // modified here
- int base_int ;
-
- public:
- Base(int i) ;
- void print(void) ;
- } ;
-
-
- Base::Base(int i)
- {
- base_int = i ;
- }
-
- void Base::print(void)
- {
- }
-
-
- /////////// Derived1 Class
- //////////
- class Derived1 : public Base
- { private :
- char derived1 ;
-
- public :
- Derived1(int i, char c) ;
- void list(void) ;
- } ;
-
-
- Derived1::Derived1(int i, char c) : Base(i)
- { int test ;
-
- derived1 = c ;
- test = base_int ; // no more error
- }
-
- void Derived1::list(void)
- {
- print() ; // correct
- // other program segment
- }
-
-
- ////////// Derived2 Class
- //////////
- class Derived2 : private Base
- { private :
- float derived2 ;
-
- public :
- Derived2(int i, float f) ;
- void list(void) ;
- } ;
-
-
- Derived2::Derived2(int i, float f) : Base(i)
- { int test ;
-
- derived2 = f ;
- test = base_int ; // no more error
- }
-
- void Derived2::list(void)
- {
- print() ; // correct
- // other program segment
- }
-
-
- int main()
- { Base a(1) ;
- Derived1 b(2,'b') ;
- Derived2 c(3,'c') ;
-
- a.print() ; // correct
- b.print() ; // correct
- c.print() ; // error 3
-
- a.base_int = 2 ; // error 4
- }
-
-