0

我使用字符数组创建了一个字符串类。

我实际上需要放置该数组而不是类对象。这是一个简单的例子。

我想将A打印为 integer ,而不是B作为不可能的类对象。

#include <iostream>

class T 
{
   int A ;

   public : T ( )
   {
       A = 10 ;
   }
} ;

void main ( )
{
    T B ;
    std :: cout << B ;
}
  1. 可能吗?

  2. 好的,但是怎么做?

4

2 回答 2

4

您需要一个输出流运算符:

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

请注意,由于A是私有的,因此它必须是friendof T

于 2013-08-26T13:34:18.123 回答
0

一种方法是向类定义的公共部分添加一个函数,该函数返回 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!
}

希望这可以帮助!

于 2013-08-26T13:51:03.593 回答