게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
클래스에 대해서 질문좀... 자꾸 에러 뜨네요;;;
게시물ID : programmer_10282짧은주소 복사하기
작성자 : 우와우와우왕
추천 : 0
조회수 : 314회
댓글수 : 4개
등록시간 : 2015/05/20 19:20:30
#include<iostream>

using namespace std;

 

class Cat

{

        public:

               Cat() :itsAge(0), itsWeight(0){}

               Cat(int age, int weight) :itsAge(age), itsWeight(weight){}

               int GetAge()const{ return itsAge; }

               //int GetAge(){ return itsAge; }

               int GetWeight()const{ return itsWeight; }

 

               friend Cat operator+(const Cat &, const Cat &);

 

        private:

               int itsAge;

               int itsWeight;

};

 

Catoperator+(const Cat & lhs, const Cat & rhs)

{

        Cat TempCat;

        TempCat.GetAge() = lhs.GetAge() + rhs.GetAge();

        TempCat.GetWeight() = lhs.GetAge() + rhs.GetAge();

        return TempCat;

       

 

        /*int totalAge;

        totalAge = lhs.GetAge() + rhs.GetAge();

        Cat temp(totalAge, 0);

 

        return temp;*/

}

 

int main(void)

{

        Cat A(1, 2), B(3, 4),C;

        C = A + B;

        cout << C.GetAge() << endl;

 

 

        return 0;

}
 
 

초록 상자 부분이 자꾸 에러가 뜨네요;

저부분을 ㅈㅜ석 씌우고 밑에 주석을 살리면 정상작동 되구요

TempCat.GetAge();이나 TempCat.GetWeight();만 적었을때는 에러가 없는걸로 봐선

 
 

        TempCat.GetAge() = lhs.GetAge() + rhs.GetAge();

        TempCat.GetWeight = lhs.GetWeight() + rhs.GetWeight();
 
 
 
이 부분의 문장 자체에 문제가 있는걸로 보이는데
 
각각 에러 문장은
 
 
 
 error C2106: '=' : left operand must be l-value
 error C2659: '=' : function as left operand
이렇게 나오네요;;; 이건 뭐 에러뜨는 종류도 다르고...
아무래도 상수형(const)이 관련된것 같은데...하 머리아파 ㅠㅠ
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호