APIs often require access to raw resources, so each RAII class should offer a way to get at the resource it manages.
Access may be via explicit conversion or implicit conversion. In general, explicit conversion is safer, but implicit conversion is more convenient for clients.
1
#include
<
iostream
>
2
using
namespace
std;
3
4
class
Base
5
{
6
public
:
7
void
test()
8
{
9
cout
<<
"
inside base
"
<<
endl;
10
}
11
};
12
13
class
Derived
14
{
15
private
:
16
Base
base
;
17
public
:
18
Base
get
()
const
19
{
20
return
base
;
21
}
22
operator
Base()
const
23
{
24
return
base
;
25
}
26
};
27
28
int
main()
29
{
30
Derived d;
31
d.
get
().test();
32
Base b
=
(Base)d;
33
b.test();
34
cin.
get
();
35
return
0
;
36
}
转载于:https://www.cnblogs.com/zhtf2014/archive/2011/03/23/1993071.html