본문 바로가기

C++40

문자열 중복체크 1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #include using namespace std; int main() { char x[] = "banana"; int i, j; int count = 0; int sum = 0; for (i = 0; x[i] != NULL; i++) { count = 1; for (j = i + 1; x[j] != NULL; j++) if (x[i] == x[j] && x[i] != -1) { count++; x[j] = -1; // 두번 못새게 값을 -1로 만들어줌 } if (count > 1) { cout 2022. 10. 11.
문자열 크기비교 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include using namespace std; int main() { char x[] = "JSON"; char x1[] = "JS"; char t; int i = 0; for (i=0;x[i] != NULL; i++) { if (x[i] != x1[i]) break; } if (x[i] == x1[i]) cout 2022. 10. 11.
문자열 뒤집기 첫번째 방법 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include using namespace std; int main() { char x[] = "JSON"; char x1[10]; int i = 0; for (i = 0;x[i] != NULL; i++) { } i -= 1; // i를 뺴줘야 N까지 됨 int j = 0; for (j = 0; i >= 0; i--, j++) { x1[j] = x[i]; } x1[j] = NULL; // 문자열 마지막에는 문자열에 마지막이라는 널이 있어야함 cout 2022. 10. 11.
문자열 대소문자 변경 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include using namespace std; int main() { char x[] = "Jhon"; for (int i = 0; x[i] != NULL; i++) { if (x[i] >= 'a' && x[i] = 'A' && x[i] 2022. 10. 10.
2차원배열 동적할당 2차원배열 동적할당 하는법 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 int** b; // 이중포인터 선언 b = new int*[3]; // 포인터 접근 int c = 0; //2차원 배열 선언 for (int i = 0; i 2022. 10. 2.
C++ 다형성 다형성 , 가상함수(virtual) 부모 포인터 타입으로, 부모 클래스로부터 파생되는 자식클래스 객체들의 주소를 가리킬 수 있다. 모든 객체를 부모 클래스 타입으로 인식하게 되기 때문에, 실제 객체가 무엇인지 알 수 없다. 자식의 함수가 호출 될줄알았지만 부모 함수가 호출됨 해결방안 virtual 키워드를 통해서, 각 클래스는 자신만의 고유한 가상함수 테이블을 가지게 된다. 가상함수를 붙여줌으로써 각 클래스의 객체들은 가상함수 테이블 포인터에서 해당 클래스에 맞는 테이블을 가리키게 된다. 그 테이블에는 해당 클래스의 가상함수들이 등록 다시 실행하면 자식 함수가 실행됨 다운 캐스팅 부모 클래스에서 선언되지 않은, 오직 자식쪽에서만 추가된 함수를 호출 하고 싶을 떄 자식 포인터타입으로 일시적으로 캐스팅 해서.. 2022. 9. 22.