0
저는 C++을 처음 접했고 istream을 작동 시키려고합니다. 나는 또한의 cpp를 가지고istream 처리되지 않은 예외, 스택 오버플로
class rat
{
private:
int num;
int denom;
public:
rat();
rat(const int&, const int&);
rat(const int&);
friend ostream& operator << (ostream&, const rat&);
friend istream& operator >> (istream&, const rat&);
};
rat::rat(void)
{
num = 0;
denom = 1;
}
rat::rat(const int &n, const int &d)
{
num = n;
denom = d;
simplify();
}
rat::rat(const int &n)
{
num = n;
denom = 1;
}
ostream& operator << (ostream &os, const rat &r1)
{
os << r1.num;
os << "/";
os << r1.denom;
return os;
}
istream& operator >> (istream &is, const rat &r1)
{
is >> r1.num;
is >> r1.denom;
return is;
}
: 나는의 클래스가가 건너 온다 때마다
이#include <iostream>
#include <conio.h>
using namespace std;
#include "Rats.h"
void main()
{
rat r1(3,4), r2(2,3), r3;
system("cls");
cout << "Please enter a rational number: ";
cin >> r3;
}
내 문제가 발생합니다 ">>입니다 r1.num;" 선. 그것은 내게 오류를 준다 : RatClass.exe에서 0x772d15de 처리되지 않은 예외 : 0xC00000FD : 스택 오버플로.
또 다시, 나는 아주 새롭기 때문에, 가능한 원인이 아직 무엇인지를 배웠다. 어떤 도움을 주셔서 감사합니다.