Line data Source code
1 : #pragma once
2 :
3 : /**
4 : * An abstract base class.
5 : */
6 : class base
7 : {
8 : public:
9 : /**
10 : * Default constructor.
11 : */
12 1 : base() = default;
13 :
14 : /**
15 : * Default virtual destructor.
16 : */
17 1 : virtual ~base() = default;
18 :
19 : /**
20 : * Default copy constructor.
21 : * \param b
22 : */
23 : base(const base &b) = default;
24 :
25 : /**
26 : * Default move constructor.
27 : * \param b
28 : */
29 : base(base &&b) = default;
30 :
31 : /**
32 : * Default copy assignment operator.
33 : * \param b
34 : * \return
35 : */
36 : base &operator=(const base &b) = default;
37 :
38 : /**
39 : * Default move assignment operator.
40 : * \param b
41 : * \return
42 : */
43 : base &operator=(base &&b) = default;
44 :
45 : /**
46 : * Pure virtual member function.
47 : */
48 : virtual void init() = 0;
49 : };
|