URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-old/] [gdb-6.8/] [gdb/] [testsuite/] [gdb.cp/] [mb-ctor.cc] - Rev 816
Go to most recent revision | Compare with Previous | Blame | View Log
#include <stdio.h> class Base { public: Base(int k); ~Base(); virtual void foo() {} private: int k; }; Base::Base(int k) { this->k = k; } Base::~Base() { printf("~Base\n"); } class Derived : public virtual Base { public: Derived(int i); ~Derived(); private: int i; }; Derived::Derived(int i) : Base(i) { this->i = i; } Derived::~Derived() { printf("~Derived\n"); } class DeeplyDerived : public Derived { public: DeeplyDerived(int i) : Base(i), Derived(i) {} }; int main() { /* Invokes the Derived ctor that constructs both Derived and Base. */ Derived d(7); /* Invokes the Derived ctor that constructs only Derived. Base is constructed separately by DeeplyDerived's ctor. */ DeeplyDerived dd(15); }
Go to most recent revision | Compare with Previous | Blame | View Log