드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c++ 초보자 클래스가 질문좀 드려도 될까요?
게시물ID : programmer_20522짧은주소 복사하기
작성자 : 일복★
추천 : 0
조회수 : 560회
댓글수 : 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로 새 값을 넣어도
계산한값이 같게 나오네요..ㅠㅠ 어케 해결해야할까요
댓글 분란 또는 분쟁 때문에
전체 댓글이 블라인드 처리되었습니다.
새로운 댓글이 없습니다.