如何在C ++中将自定义对象打印到控制台

时间:2019-12-30 06:39:10

标签: c++ logging type-conversion

我想学习C ++。我的背景是作为Javascript开发人员。

我的问题是将C ++中的自定义类对象打印到控制台,以便我可以开始学习。

在Javascript中,我可以创建一个类,对其进行初始化,然后进行console.log(JSON.stringify(classObject))等。

我正在尝试用C ++编写此代码,但是收到一个...

转换错误

/usr/include/c++/7/ostream:574:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)
     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
     ^~~~~~~~

代码

#include <iostream>
#include <queue>

using namespace std;

class Ball {

    public:
    int posX;
    int posY;
    int speedX;
    int speedY;
    int size;

    // Parameterized Constructor
    Ball(int pX, int pY, int sX, int sY, int s){
        posX = pX;
        posY = pY;
        speedX = sX;
        speedY = sY;
        size = s;
    }

};


int main(){
    queue<Ball> objQueue;

    Ball obj1(10, 10, 5, 5, 150);
    Ball obj2(1490, 740, 5, 5, 150);
    Ball obj3(10, 740, 5, 5, 150); 
    Ball obj4(1490, 10, 5, 5, 150); 

    objQueue.push( obj1 );
    objQueue.push( obj2 );
    objQueue.push( obj3 );
    objQueue.push( obj4 );

    // TEST
    while (!objQueue.empty()){
        std::cout << objQueue.front();
        objQueue.pop();
    }

    return 0;
}

0 个答案:

没有答案