0) 제목
Hackerrank 의 C++>Inheritance 부분의 Rectangle Area 입니다.
C++ 이용하여 풀었습니다.
1) 문제설명
간단한 문제입니다.
Rectangle 클래스를 만들고 그것을 상속 받는 Rectangle Area 클래스에서 Rectangle 클래스의 멤버 변수에 접근 해라.
2) 풀이과정
문제에서 시키는대로만 만들면 됩니다.
유도 클래스에서 기초 클래스의 멤버 변수를 직접 접근 하기 때문에,
기초 클래스의 멤버 변수를 protected로 선언해서 문제를 풀었습니다.
3) 함수설명
간단하게 접근 지정자에 대해 말하고 가겠습니다.
C++ 에서는 3가지의 접근 지정자가 존재합니다.
접근지정자(access specifier) 는 클래스 외부에서
그 멤버를 접근할수 있는 허가? 범위? 를 지정하는 것 입니다.
public : 제한없이 아무나 접근 및 호출 가능
protected : 자기자신과 유도클래스 에서만 접근 및 호출이 가능합니다.
private : 오직 자기 자신의 클래스 안에서만 접근 및 호출이 가능합니다.
(상속받은 유도클래스에서도 접근 불가)
4) 코드
//헤더, using namespace std 및 나머지 코드는 hackerrank 문제에 주어져있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | //유도 클래스에서 기초 클래스의 멤버 변수를 사용할수있도록 //protected 선언을 해주었다. class Rectangle{ protected: int height; int width; public: void display(){ cout << height << " " << width << endl; } }; class RectangleArea : public Rectangle{ public: void read_input(){ cin >> height; cin >> width; } void display(){ cout << height * width << endl; } }; | cs |
5) 인증
경로 : Dashboard>C++>Inheritance>Rectangle Area
출처 : [HackerRank] https://www.hackerrank.com/challenges/rectangle-area/
더 나은 코드로 보완 할 곳이 있으면 말씀해주세요.
부족한 코드 많은 지적 부탁드립니다.
'<알고리즘 문제풀이&연습> > [C++] 백준, 프로그래머스 등등' 카테고리의 다른 글
[백준 1152] 단어의 개수 (strtok) (2) | 2017.07.27 |
---|---|
[백준 2577] 숫자의 개수 (0) | 2017.07.26 |
[백준 11720] 숫자의 합 (아스키코드) (0) | 2017.07.25 |
[C++ vector] Vector-Erase (0) | 2017.07.24 |
[백준 14612] 김식당 (IUPC) (0) | 2017.07.18 |
[C++ 예외처리] Exceptional Server (bad_alloc, exception) (0) | 2017.07.17 |
[C 자료구조] Stack - Simple Text Editor (0) | 2017.07.14 |
[C 자료구조] Array - Left Rotation (0) | 2017.07.13 |