게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c++ 초보자 클래스가 질문좀 드려도 될까요?
게시물ID : programmer_20522짧은주소 복사하기
작성자 : 일복
추천 : 0
조회수 : 539회
댓글수 : 4개
등록시간 : 2017/05/10 16:59:48
옵션
  • 본인삭제금지
#include <iostream>

using namespace std;

class Vector2D {
public:
 //--------------------------------------멤버함수 선언

 Vector2D();
 Vector2D(double x, double y);

 Vector2D operator+(Vector2D rhs);
 Vector2D operator-(Vector2D rhs);
 double operator*(Vector2D rhs);


 double GetX() ;
 double GetY() ;
 void SetX(double x1);
 void SetY(double y1);

 //------------------------------------- 멤버함수 선언

private:
 double x;
 double y;


};

int main() {

 Vector2D a(2, 3);
 Vector2D b(3, 4);
 Vector2D c1 = a + b;
 Vector2D c2 = a - b;
 double c3 = a * b;
 
 cout << "-------생성자에 넣은 값을 통해 출력------- " << endl;
 cout << "벡터 a : " << a.GetX() << "," << a.GetY() << endl;
 cout << "벡터 b : " <<b.GetX() << "," << b.GetY() << endl;
 cout <<"두 벡터의 합 :" << c1.GetX() << "," << c1.GetY() << endl;//벡터합 출력
 cout << "두 벡터의 차 :" <<c2.GetX() << "," << c2.GetY() << endl;//벡터뺄셈 출력
 cout << "두 벡터의 내적 : " << c3 << endl;//벡터내적 출력




 cout << "-------Mutator를 사용하여 입력했을 때 출력------- " << endl;

 a.SetX(15);
 a.SetY(14);
 b.SetX(8);
 b.SetY(10);

 cout << "벡터 a : " << a.GetX() << "," << a.GetY() << endl;
 cout << "벡터 b : " << b.GetX() << "," << b.GetY() << endl;
 cout << "두 벡터의 합 :" << c1.GetX() << "," << c1.GetY() << endl;//벡터합 출력
 cout << "두 벡터의 차 :" << c2.GetX() << "," << c2.GetY() << endl;//벡터뺄셈 출력
 cout << "두 벡터의 내적 : " << c3 << endl;//벡터내적 출력
 

}
//-----------------------------------------멤버함수 정의

Vector2D::Vector2D() : x(0), y(0) {} // 디폴트 생성자 정의

Vector2D::Vector2D(double x, double y) : x(x), y(y) {} // 생성자 정의

double Vector2D::GetX() { return x; }// accsessor 정의
double Vector2D::GetY() { return y; }

void Vector2D::SetX(double x1) { // mutator 정의
 x = x1;
}
void Vector2D::SetY(double y1) {
 y = y1;
}

Vector2D Vector2D::operator+(Vector2D rhs) {
 return Vector2D(x + rhs.x, y + rhs.y);
} // +연산자 오버로딩

Vector2D Vector2D::operator-(Vector2D rhs) {
 return Vector2D(x - rhs.x, y - rhs.y);
} // -연산자 오버로딩

double Vector2D::operator*(Vector2D rhs) {
 return double(x * rhs.x + y* rhs.y);
} // 벡터 내적 오버로딩

  //-----------------------------------------멤버함수 정의




일단 제가 짠 코드인데요

이걸 출력하면

mutator로 새 값을 넣어도

계산한값이 같게 나오네요..ㅠㅠ 어케 해결해야할까요
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호