报错读取字符串时出错如何解决?

为啥w->print();无输出结果,报错读取字符串时出错

#include
#include
using namespace std; 

class printable {
public: 
    virtual string print() = 0;
};

class Player :public printable
{
    string m_Name;
public:
    Player(string name) {
        m_Name = name;
    }
    string print(){ return m_Name; }
};

void class_name(printable* obj)
{
    cout << obj->print() <int main()
{
Player* w = new Player("阿巴");
    class_name(w);//有输出结果 
    w->print();//无输出结果 
    cin.get();
}

  • w->print(); 你又没有输出它的返回值呀
  • 改成如下:
cout<< w->print()<<endl;

  • 或者你在print里,用cout 输出也行