language: C++11 (gcc-4.7.2)
date: 449 days 13 hours ago
link:
visibility: private
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream> 
 
using namespace std; 
 
struct A 
{ 
    char const* value() const
    {
        return valueImpl();
    }
protected:
    virtual char const * valueImpl() 
   { return "A"; } 
}; 
 
struct B 
{ 
    char const* value() const
    {
        return valueImpl();
    }
protected:
    virtual char const * valueImpl() const 
    { return "B"; } 
}; 
 
class C : public A, public B 
{ 
public:
   using B::value;
    
}; 
 
int main() 
{ 
    C obj; 
    cout << obj.value() << endl; 
 
    A * ptr = &obj; 
    cout << ptr->value() << endl; 
} 
 
prog.cpp: In member function 'const char* A::value() const':
prog.cpp:9:26: error: passing 'const A' as 'this' argument of 'virtual const char* A::valueImpl()' discards qualifiers