c++ inheritance rules

First rule you cannot access the members of the derived class using base class pointers. Second you can access the members of derived class using base class pointers through casting. Example: base *bp; derived d; bp=&d; ((derived *)bp)->anymethodinderived();   #include<iostream> using namespace std; class base { int i; public: base(){} void set_i(int num) { this->i [...]


classes within classes

#include<iostream> using namespace std; class hi { private: int i; public: void setdata() { i=50; } void show() { cout<<endl<<i; } }; class car { private: int j; public: void setdata() { j=30; } void show() { cout<<endl<<j; } hi c; }; int main() { car h; h.setdata(); h.show(); h.c.setdata(); h.c.show(); return 0; }