반응형

Programming Tools/C++ 15

[코드 중심 C++] - 상속, 멤버 이니셜라이저(Inheretence, Member Initializer)

1 클래스를 상속시키려면 상속받을 클래스의 이름 옆에 :와 접근 제한자, 클래스의 이름을 붙여주면 된다. 2 생성자 : 부모 먼저 자식 나중 소멸자 : 자식 먼저 부모 나중 3 멤버 이니셜라이저(Member Initializer)는, 부모 클래스의 멤버 변수를 초기화, 클래스 내의 변수를 초기화, const 변수를 초기화 등의 상황에서 사용한다. 멤버 이니셜라이저는 생성자의 몸체 부분보다 먼저 실행된다. 4 private는 외부에서 접근이 불가능 protected는 외부에서 접근이 불가능하나 파생 클래스에서는 접근이 가능 public는 어디서나 접근이 가능하다. 상속을 private하게 하면, 부모 클래스의 멤버 중 private 제한자보다 접근 범위가 넓은 멤버는 모두 private으로 접근 범위가 바..

[코드 중심 C++] 생성자, 참조변수형, 소멸자 (Constructor, Reference Variable, Destructor)

1 생성자는 객체 생성과 동시에 attribute를 초기화할 수 있게 하는 기능이다. 클래스의 이름과 동일한 이름의 method로 존재한다. 생성자는 반환값이 없다. 생성자는 여러번 정의 가능하여, 다양한 방법으로 객체 초기화를 시도할 수 있다. #include #include using namespace std; class Character { private: string name; int ragePoint; int hp; int damage; public: Character(string name, int hp, int damage) {//initialization. 생성자는 자료형이 없다. this->name = name; this->ragePoint = 0; this->hp = hp; this->d..

[코드 중심 C++] 접근제한자, 클래스, This 포인터 (Access Modifier, Class, This Pointer)

1. Classs에서 private는 정보가 은닉됨. 외부에서는 호출이 안되고 Student 내부의 private/public 메서드에 의해서만 호출이 가능함. 2. 클래스는 변수의 선언이기 때문에 반드시 ;를 붙여주어야한다. #include #include using namespace std; class Student{ private: string name; int engscore; int mathscore; int getSum(){ return (engscore + mathscore); } public: Student(string n, int e, int m){ name = n; engscore = e; mathscore = m; } void Show(){ cout 안하면 홀롤롤, 0점으로 뜬다. v..

[코드 중심 C++] 네임스페이스, 유징, 입출력, 동적할당 (namespace, using, cin, cout, iostream, dynamic allocation)

C++를 공부하는 중 잊을 때마다 다시 보러오기 위해 적는 시리즈이다. 다시 보러오는 일이 적었으면 좋겠다. #include #include int main(void){ std::string input; //using namespace std; 를 안하면 표준라이브러리 사용할 때 std::string 해줘야함. std::cin >> input; //문자열 입력. >>는 공백문자(스페이스, 엔터, 탭)을 기준으로 입력을 받는다. 한줄을 전체로 입력받고 싶으면 getline을 이용해야한다. std::cout input; //문자열 입력. >>는 공백문자(스페이스, 엔터, 탭)을 기준으로 입력을 받는다. 따라서 >> 다음에는 한칸 띄어주어야한다. cout

반응형