File: main.cc

package info (click to toggle)
aspectc%2B%2B 1.0pre4~svn.20090918-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 117,308 kB
  • ctags: 410,601
  • sloc: cpp: 1,883,007; ansic: 17,279; sh: 2,190; makefile: 1,088
file content (40 lines) | stat: -rw-r--r-- 836 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class Base {
public:
  void bar(int, int) {}
};

class Test : public Base {
public:
  void foo() { Base::bar(1,2); }
  void abar(int, int) {}
  void bbar(int, int) {}
};

class Derived : public Test {
  void abar(int, int) {}
};

class OtherDerived : public Base {
public:
  Test *make () { return new Test; }
  void destroy (Test *obj) { delete obj; }
};

Test array[10];

int main()
 {
   Test local_array[5];    // five instances of "Test"
   Derived test;           // one instance of "Test"
   
   test.foo();             // some work
   
   OtherDerived od;        // no instance of "Test"
   od.bar (3, 4);          // some more work

   Test *obj = od.make (); // this creates one "Test" instance
   od.destroy (obj);       // here it is destroyed again

   return 0;               // automatic destruction of six instances
 }