c_cpp 这是获取operator <<的多态行为的一种方法。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 这是获取operator <<的多态行为的一种方法。相关的知识,希望对你有一定的参考价值。

#include <iostream>

struct A
{
    virtual std::ostream& put(std::ostream& o ) const { return o << 'A'; };
};

struct B : A
{
    virtual std::ostream& put(std::ostream& o ) const { return o << 'B'; };
};

std::ostream& operator <<(std::ostream& o, const A& a)
{
    return a.put(o);
}

int main () {
    B b;
    std::cout << b << std::endl ;
}

以上是关于c_cpp 这是获取operator <<的多态行为的一种方法。的主要内容,如果未能解决你的问题,请参考以下文章

[Hdu6315]Naive Operations

c_cpp operations_on _unordered_array_using_class.cpp

operator <未定义参数类型Integer,int error

HDU6579 Operation

QVector 与 'operator=' 不匹配

2019杭电多校第一场 Operation HDU - 6579