2013-04-23 2 views
1

나는 다항식을가집니다. 나는 또한 문자열을 받아 다항식으로 변환하는 메소드를 가지고있다. 지금은 입력 조작이 방법을 구현하려고 :오버로딩에서 문자열 만 가져 오기 >> 연산자 istream :

내가 //에 둘 필요가 누구인지
istream& operator>> (istream &is, Poly& pol) 
{ 
    //the string that we use: 
    string str; 

    //the new input override the old: 
    pol.emptyPoly(); 


    //getting a string from user and put it into str: 
    //????????????????????? 

    // convert the string to polynomial 
    pol.sToPol(str); 

    return is; 
} 

???????? 사용자로부터 문자열을 가져 와서 str에 넣으려면?

그럼 수행 할 때

Poly p1; 
cin>>p1; 

사용자 것 입력 문자열을 문자열 공백없이이면 내 방법

답변

3
is >> str; 

를 다항식으로 변환한다

std::getline(is, str); 

문자열에 공백이 있으면

+0

고맙지 만 작동하지 않습니다. 오류 : 오류 C2678 : 바이너리 '>>': 'std :: istream'유형의 왼쪽 피연산자를 사용하는 연산자가 없습니다. (또는 허용되는 변환이 없습니다.) 두 번째로 getline을 찾습니다. std –

+1

@AviadChmelnik 어때? # 을 포함합니까? – ForEveR

+0

나는 "나의 실수!, 쓰는 것을 잊어 버렸다."라는 글을 편집하려고 시도했지만 편집 5 분이 끝났습니다. 많은 사람에게 감사드립니다! 당신은 "OOP 소개"에서 나의 성적을 저장합니다 :) –

관련 문제