// ========================================================================== // $Id: house_pub.cpp,v 1.2 2014/10/04 19:25:23 jlang Exp $ // CSI2372 example Code for lecture 6 // ========================================================================== // (C)opyright: // // Jochen Lang // SITE, University of Ottawa // 800 King Edward Ave. // Ottawa, On., K1N 6N5 // Canada. // http://www.site.uottawa.ca // // Creator: jlang (Jochen Lang) // Email: jlang@site.uottawa.ca // ========================================================================== // $Log: house_pub.cpp,v $ // Revision 1.2 2014/10/04 19:25:23 jlang // Added example with redefining access in derived class. // // Revision 1.1 2006/10/05 01:56:46 jlang // Added material for lecture 6 // // // ========================================================================== #include using namespace std; class Building { double d_sqft; int d_noRooms; public: Building( double _sqft = 1000.0, int _noRooms = 3 ) : d_sqft( _sqft ), d_noRooms( _noRooms ){} int getNoRooms() { return d_noRooms; } int getSqft() { return d_sqft; } protected: void setSqft( double _sqft ) { d_sqft = _sqft; } }; class House : public Building { int d_noOccu; public: House( int _noOccu = 2 ) : d_noOccu( _noOccu ) {} int getNoOccupants() { return d_noOccu; } void setSqft( double _sqft ) { Building::setSqft(_sqft); } }; int main() { House h; cout << h.getNoOccupants() << endl << h.getNoRooms() << endl; h.setSqft( 1200.0 ); cout << h.getSqft() << endl; }