如何适当地重载printf以从类c ++

时间:2018-10-10 13:04:04

标签: c++ printf overloading

是否可以使用printf来打印类的值?

class example
{
public:
    int x;
    example(int in) : x(in) {}
}

void printf(example object)
{
    printf(object.x);
}

有没有办法正确地做到这一点? 当我这样做时,我会遇到细分错误, 但是当我使用“ example&object”时,它说

  

错误:无法将“ object&”类型的非常量左值引用绑定到   “对象”的右值

当我放入“ const example&object”时,它说

  

将“ const example”作为“ this”参数传递会丢弃限定符

注意: 我已经做过std :: cout(操作符重载<<),并且可以,但是我只想尝试使用printf

我也试图做到

std::cout<<object.x;

当我这样做时,它会自动在int的前面添加换行符(如下所示):

example a(5);
printf("the value is: %i", a) ;

结果:

the value is:
5

0 个答案:

没有答案