CSE207 객체지향 강좌 및 C++ 관련, 누구나 묻고 답하는 게시판 입니다. CSE207 수강생이 아니여도 편안하게 질문하세요. 첨부화일은 이미지 화일 혹은 zip 화일로 업로드 하기를 권합니다. 제목포인트 내 변수 호출 관련 질문입니다.2019-11-13 08:56작성자cppcp각class Point {private: int x; int y; static int cntObj; // 객체 안에서 초기화할 수 없음. 반드시 클래스 밖에서 초기화public: Point() : x(0), y(0) { //fout.open("file.txt"); //list = new int[100]; cntObj++; // 생성자 작동할 때마다 카운트 1증가 // 객체 안에서 초기화 불가 } // initialization 생성자 : 객체 안에 있는 멤버 변수를 초기화 Point(int _x, int _y) : x(_x), y(_y) { cntObj++; } ~Point() { cout << "Destructed.." << endl; } static int getCntObj() { return cntObj; } void setXY(int _x, int _y) { this->x = _x; this->y = _y; } int getX() const { return this->x; } int getY() const { return this->y; } Point& operator=(const Point& pt) { this->x = pt.x; this->y = pt.y; return (*this); } friend ostream& operator<<(ostream& cout, const Point& pt); friend Point operator+(const Point& pt1, const Point& pt2); friend class SpyPoint;};int Point::cntObj = 0;ostream& operator<<(ostream& cout, const Point& pt) { cout << pt.x << ", " << pt.y << endl; return cout;}Point operator+(const Point& pt1, const Point& pt2) { Point result(pt1.x + pt2.x, pt1.y + pt2.y); return result;}class SpyPoint {public: void hacking(const Point& pt) { cout << "x: " << pt.x << endl; cout << "y: " << pt.y << endl; cout << "cntObj: " << pt.cntObj << endl << endl; }};int main() { Point pt1(1, 2); cout << "cntObj: " << pt1.getCntObj() << endl; Point* pPt = &pt1; cout << "cntObj: " << pt1.getCntObj() << endl; Point* list = new Point[5]; cout << "cntObj: " << list[0].getCntObj() << endl; cout << "Before delete[]" << endl; cout << "=========================================" << endl; delete[] list; cout << "After delete[]" << endl; Point pt2(10, 20); // cntObj 1 증가 -> 7 Point pt3(100, 200); // cntObj 1증가 -> 8 pt1 = pt2 + pt3; // cntObj 1증가 -> 9 cout << "cntObj: " << pt1.getCntObj() << endl << endl; cout << "============SpyPoint 나온다========" << endl; SpyPoint spy; spy.hacking(pt1); spy.hacking(pt2); spy.hacking(pt3); cout << "Exit Program" << endl; return 0;}위의 코드 중 색칠 된 부분에 관련해 질문 드립니다.pt1과 pt2의 포인트 멤버변수인 x와 y를 'pt1.x', 'pt1.y', 'pt2.x', 'pt2.y' 이렇게 호출하고 있는데요.1. 메소드인 getX(), getY()로 호출하는 것이랑 x와 y를 불러온다는 것 행위에서 차이가 있는지 아니면 같은 건지 궁금합니다.2. 만약 멤버변수가 height, weight였으면 'pt1.height','pt1.weight' 이런 식으로 호출하면 되는 것인가요?'.' 다음 메소드를 썼던 것 같은데, 저기에선 바로 변수가 나와서 이렇게 불러도 되는 것인지 궁금했습니다. 목록수정삭제답변글쓰기 댓글 [1] 댓글작성자(*)비밀번호(*)내용(*) 댓글 등록 더보기이전lab 12 응용문제 1번 질문입니다. abcd2019-11-20다음lec11 강의노트 14~15p 관련 질문입니다.dg2019-11-12 Powered by MangBoard | 워드프레스 쇼핑몰 망보드