C++11 Mapping for Local Classes
On this page:
Mapped C++ Class
A local Slice class is mapped to a C++ class with the same name. For example:
Slice
module Ice { local class ConnectionInfo { ... } }
is mapped to the C++ class ConnectionInfo
:
C++
namespace Ice { class ConnectionInfo { ... }; }
LocalObject in C++
Like local interfaces, local Slice classes implicitly derive from LocalObject
, which is mapped to nothing in C++11.
Mapping for Local Interface Inheritance in C++
A local Slice class can extend another local Slice class, and can implement one or more local Slice interfaces. extends
for classes is mapped to simple inheritance in C++, while implements
is mapped to public virtual inheritance. For example:
Slice
module M { local interface A {} local interface B {} local class C implements A, B {} local class D extends C {} }
is mapped to:
C++
namespace M { class A { ... }; class B { ... }; class C : public virtual A, public virtual B { ... }; class D : public C { ... }; }