Suppose I have a MessageBox class along the following lines:

```
class MyMessageBox
{
public:
    enum Priority {
        Prior_Dialog,
        Prior_Warning,
        // ...
    };

    enum Icon {
        Icon_Question,
        Icon_Exclamation,
        // ...
    };

    enum Button {
        Button_Yes,
        Button_No,
        Button_Cancel,
        // ...
    };

    static void Show(Priority pPriority, Icon pIcon, Button pButton1, Button pButton2);

    // ...
};

```

Now, if I want to throw up a messagebox, I have to type out `MyMessageBox::` for every single identifier:

```
MyMessageBox::Show(MyMessageBox::Prior_Dialog, MyMessageBox::Icon_Question, MyMessageBox::Button_Yes, MyMessageBox::Button_No);

```

Ideally, I'd like some non-macro solution that will allow source files that `#include "MyMessageBox.h"` to omit the `MyMessageBox::` qualifications everywhere. Is this possible?