What's a problem?
class A {
public:
A() {}
explicit A(const std::string& n):name(n) {}
const std::string& getName() const {
return name;
}
protected:
std::string name;
};
inline
std::ostream& operator<<(std::ostream& os,const A& a) {
os << a.getName();
return os;
}
class B: public A {
public:
B():A() {}
explicit B(const std::string& n):A(n) {}
};
inline
std::ostream& operator<<(std::ostream& os,const B& b) {
return operator<<(os,static_cast<const A&>(b));
};
void abtest()
{
B dude("mbayabo");
std::cout << dude << std::endl;
}
Reputation Points: 1234
Solved Threads: 347
Postaholic
Offline 2,001 posts
since Jul 2008