11.6. Using Declarations

You have already seen how using declarations bring namespace members into local scope for functions (see “Using Declarations” on page 142). Using declarations also apply to inheritance relationships between base and derived classes. In fact, using declarations in derived classes control specialization by bringing base class members into the scope of the derived class.

Using declarations have several uses with inheritance, but they are most helpful with dominance relationships (see “Dominance” on page 481). Suppose, for example, class A has a print() public member function, as follows.

class A {
public:
   void print(const String &);
};

We'd like to specialize a print() function that accepts a single character in derived ...

Get Navigating C++ and Object-Oriented Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.