問題は解決しました、あなたの助けに感謝します!
私は理解できないような問題に遭遇しました。
そのオブジェクトのメンバーデータを出力できるようにするために、ostream演算子をフレンド関数としてオーバーロードしようとしていますが、動作させることができないようです。
これは私がこれまでに得たものです:
.hファイル:
Class TestIt:
{
public:
TestIt();
TestIt(int a, b);
friend ostream& operator <<(ostream& outputStream, const TestIt& a);
Private:
int NUMBER1;
int NUMBER2;
};
.cppファイル:
ostream& operator <<(ostream& outputStream, const TestIt& a)
{
outputStream << a.NUMBER1 << " " << a.NUMBER2;
return(outputStream);
}
私がやろうとしているのは、ostreamでオブジェクトを渡し、そのメンバーデータを出力することです。私が受け取っているエラーはそれです
"TestIt.hで宣言されたメンバーTestIt::NUMBER1にアクセスできません。
他のメンバーデータにも同じエラーがあります。
なぜそうなるのでしょうか?
ご協力ありがとうございました。
これが私が書いたばかりのプログラム全体で、同じエラーが発生します。
TestClass.cpp
#include "TestClass.h"
#include <iostream>
using namespace std;
TestClass::TestClass(int a, int b)
{
age = a;
whole = b;
}
int TestClass::GetAge() const
{
return(age);
}
ostream& operator <<(ostream& outputStream, const TestClass& t1)
{
t1.whole;
t1.age;
return(outputStream);
}
TestClass.h
#ifndef TestClass_H
#define TestClass_H
class TestClass
{
public:
TestClass(int a, int b);
int GetAge() const;
friend ostream& operator <<(ostream& outputStream, const TestClass& t1);
private:
int whole;
int age;
#endif