我使用字符数组创建了一个字符串类。
我实际上需要放置该数组而不是类对象。这是一个简单的例子。
我想将A打印为 integer ,而不是B作为不可能的类对象。
#include <iostream>
class T
{
int A ;
public : T ( )
{
A = 10 ;
}
} ;
void main ( )
{
T B ;
std :: cout << B ;
}
可能吗?
好的,但是怎么做?
我使用字符数组创建了一个字符串类。
我实际上需要放置该数组而不是类对象。这是一个简单的例子。
我想将A打印为 integer ,而不是B作为不可能的类对象。
#include <iostream>
class T
{
int A ;
public : T ( )
{
A = 10 ;
}
} ;
void main ( )
{
T B ;
std :: cout << B ;
}
可能吗?
好的,但是怎么做?
您需要一个输出流运算符:
std::ostream& operator <<(std::ostream& o, const T& t)
{
return o << t.A;
}
请注意,由于A
是私有的,因此它必须是friend
of T
。
一种方法是向类定义的公共部分添加一个函数,该函数返回 A 的值:
class T{
...
public:
...
int retA(){
return A;
}
};
int main{
T B;
cout << B.retA();
return 0; //This is what chris said in his comment!
}
希望这可以帮助!