728x90

LANG/C++ 42

[C++]프로그래머스 정수 내림차순으로 배치하기

내코드 #include #include #include using namespace std; long long solution(long long n) { vector a; long long answer = 0; while(n / 10 != 0) { a.push_back(n % 10); n = n / 10; } a.push_back(n % 10); sort(a.begin(), a.end()); for (int i = a.size() - 1; i >= 0; i--) { answer += a.at(i); if (i == 0) break; answer *= 10; } return answer; } 똑똑이코드 #include #include #include #include using namespace std; l..

LANG/C++ 2023.05.14

[C++]08-1.객체 포인터의 참조관계

Person *ptr; //포인터 변수 선언 ptr = new Person(); //포인터 변수의 객체 참조 Person형 포인터는 Person객체 뿐만 아니라, Person을 상속하는 유도클래스 객체도 가리킬 수 있음. class Student:public Person { ... };일 때, Person * ptr = new Student();이 됨. 요러케 이것을 이용하면 이후에 클래스를 직접 혹은 간접적으로 상속하는 클래스가 추가되었을 때, 기존 클래스에는 변화가 발생하지 않음! 함수 오버라이딩 클래스를 상속하며 기존 클래스에 있는 함수를 재정의하면 기존 클래스가 가려지게 되는 것.

LANG/C++ 2023.05.14

[C++]07-3.protected선언과 세 가지 형태의 상속

private protected보다 접근의 범위가 넓은 멤버는 protected로 변경시켜서 상속하겠다. public -> protected로 바꿔줌 2.private상속 => private보다 접근 범위가 넓은 멤버는 private으로 변경시켜서 상속하겠다. private상속이 이뤄진 클래스를 다시 상속할 경우, 멤버함수를 포함하여 모든 멤버가 접근불가가 되기 떄문에 의미없는 상속이 됨. 3.public 상속 => public보다 접근 범위가 넓은 멤버는 public으로 변경시켜서 상속하겠다. = private를 제외한 나머지는 그냥 그대로 사속 실제로 public이외의 상속은 특별한 경우가 아니면 잘 상속하지 x

LANG/C++ 2023.05.14

[C++]06-3.C++에서의 static

C언어에서 얘기한 static 1)전역변수에 선언된 static의 의미 -> 선언된 파일 내에서만 참조를 허용하겠다는 의미 2)함수 내에 선언된 static의 의미 ->한번만 초기화되고, 지역변수와 달리 함수르 빠져나가도 소멸 x if static 없이 전역변수 선언하는 경우 제한을 지켜줄만한 아무런 장치도 존재 x -> 문제 일으킬 소지 매우 높음 static 멤버변수(클래스 변수) if class SoSimple { private: static int simObjCnt; //static 멤버변수, 클래스 변수 public: SoSimple() { simObjCnt++; cout

LANG/C++ 2023.05.13

[C++]06-2.클래스와 함수에 대한 friend 선언

1)A클래스가 B클래스를 대상으로 friend선언을 하면, B클래스는 A클래스의 private멤버에 직접 접근 가능 2)단, A클래스도 B클래스의 private멤버에 직접 접근 가능하려면, B클래스가 A클래스를 대상으로 friend선언 해줘야함 class Boy { private: int height; //키 friend class Girl; //Girl클래스를 friend로 선언함 public: Boy(int len): height(len) {} . . . . }; class Girl { private: char phNum[20]; public: Girl(char *num) { strcpy(phNum, num); } void ShowYourFriendInfo(Boy &frn) { cout

LANG/C++ 2023.05.13
728x90