[ create a new paste ] login | about

Link: http://codepad.org/RQvqDwkX    [ raw code | output | fork ]

C++, pasted on Jan 25:
#include <iostream>
using namespace std;
class Foo {
   private:
   int data;

   public:
   Foo(int d = 0) : data(d) { }
   virtual ~Foo() { }
   virtual void displayData() const { cout << "data=" << data << endl; }
};
class Bar : public Foo {
   private:
   int moreData;

   public:
   Bar(int d = 0, int dd = 0): Foo(d), moreData(dd) { }
   virtual ~Bar() { }
   virtual void displayData() const { 
      Foo::displayData();
      cout << "moreData=" << moreData << endl; 
   }
};
void func(Foo& thing) {
   // Be polymorphic:
   thing.displayData();
}
int main() {
   Bar b1(42, 24);
   Foo f1(256);
   func(b1);
   cout << endl;
   func(f1);
   return 0;
}


Output:
1
2
3
4
data=42
moreData=24

data=256


Create a new paste based on this one


Comments: