IT 프로그래밍/객체지향프로그래밍 57

[C++] 캡슐화, 접근지정자, 접근 함수

#include #include #include using namespace std;class Date{private: int m_month; int m_day; int m_year;};int main(){ Date today; today.m_month = 8; today.m_day = 4; today.m_year = 2025; return 0;}이럴 경우 private 코드이기 때문에 today.m_month 이런 식으로 사용이 불가능하고 에러가 발생합니다. public으로 바꿀 경우 객체지향 프로그래밍에서 효율이 좋은 게 아닌데요. 그러면 어떻게 access function을 해주어야 할까요? 나를 통해라 라는 함수를 만들어주면 됩니다. public으로 함수를 만들어주면 그 public 함수는 pri..

[따배시 c++ 8.1] 객체지향 프로그래밍과 클래스

클래스를 모를 때#include #include #include using namespace std;void print(const string& name, const string& address, const int& age, const double& height, const double& weight){ cout name_vec; vector addr_vec; vector age_vec; vector height_vec; vector weight_vec; print(name_vec[0], addr_vec[0], age_vec[0], height_vec[0], weight_vec[0]); return 0;}이런 식으로 해주면 너무 복잡하고 번거롭습니다. 하나하나씩 다 넣어줘야 하기 때문입니다.  그렇다면..

객체지향프로그래밍 4과 그룹액티비티 1번 2번\

객체지향프로그래밍 1번 constructor1: 이 메시지는 클래스 A의 디폴트 생성자가 호출되어 객체가 생성될 때 출력됩니다. 즉, 객체가 생성되면서 멤버 변수들을 초기화하는 함수입니다. constructor2: 이 메시지는 클래스 A의 매개변수를 받는 생성자가 호출되어 객체가 생성될 때 출력됩니다. 이 생성자는 int 형식의 매개변수를 받아 멤버 변수를 초기화합니다. constructor1: 이 메시지는 vector vec_b(2);에서 생성된 벡터가 초기화될 때, 벡터 내의 요소들이 디폴트 생성자를 호출하여 초기화될 때 출력됩니다. 따라서 이 경우, 벡터 내의 요소가 디폴트 생성자를 호출하게 되어 "constructor1"이 출력됩니다. constructor1: 또 다른 메시지로, 이 역시 vect..

객체지향프로그래밍 3과 그룹액티비티 총정리

객체지향프로그래밍 1번 정답 5 5 이 코드는 함수 f를 호출하여 변수 p와 q를 전달하고, 해당 함수 내에서 변수 p는 증가하고 변수 q는 감소합니다. 이후 main 함수에서 p와 q의 값을 출력합니다. 함수 f에서 x는 참조로 전달되었기 때문에 값이 변경될 수 있습니다. 따라서 p의 값은 증가하고, q의 값은 감소합니다. 따라서 출력 결과는 "5 4"가 될 것입니다. 왜냐하면 함수 f에서 x는 참조로 전달되어 p와 같은 변수를 가리키고 있으므로 x를 증가시키면 p의 값도 증가합니다. 반면에 y는 값으로 전달되었기 때문에 q와는 별개의 변수이며, y를 감소시켜도 q의 값은 변하지 않습니다. 이 코드는 함수 something을 호출하여 변수 t와 s를 전달하고, 해당 함수 내에서 변수 a는 값으로, 변수..

객체지향프로그래밍 2과 그룹액티비티 총정리

객체지향프로그래밍 1번 (a) 문자열을 선언하는 데 사용하는 헤더 파일은 입니다. (b) 두 개의 문자열을 합치는 연산자는 +입니다. (c) 문자열의 길이를 반환하는 함수는 length()나 size()입니다. (d) 문자열에서 특정 위치에 있는 문자를 가져오는 함수는 operator[]입니다. (e) 두 개의 문자열을 비교하는 함수나 연산자로는 ==, !=, = 등이 있습니다. (f) 문자열에서 특정 문자열을 찾는 함수는 find()입니다. (g) 문자열에서 특정 문자열을 다른 문자열로 대체하는 함수는 replace()입니다. (h) 문자열을 특정 문자를 기준으로 분할하는 함수는 find()를 사용하여 구현할 수 있습니다. (i) 문자를 대문자로 변환하는 함수는 toupper()입니다. (j) 문자를 ..

객체지향프로그래밍 그룹 액티비티 1과 총정리

객체지향프로그래밍1 1번 "Hello1"은 10번 출력됩니다. 이 때, sum1은 0 + 1 + 2 + ... + 9로 계산되어 총 45가 됩니다. "Hello2"는 11번 출력됩니다. 이 때, sum2는 0 + 1 + 2 + ... + 10로 계산되어 총 55가 됩니다. "Hello3"은 10번 출력됩니다. 이 때, sum3은 1 + 2 + ... + 10로 계산되어 총 55가 됩니다. 따라서 "Hello1"은 10번, "Hello2"는 11번, "Hello3"은 10번 출력되며, sum1은 45, sum2와 sum3은 각각 55입니다. 객체지향프로그래밍 1 2번 정답 : 8 1부터 시작하여 2를 곱해가면서 i의 값이 128보다 작거나 같은 경우에만 반복문이 실행됩니다. 따라서 i 는 1, 2, 4, ..

객체지향 프로그래밍 25번 , 26번, 28번, 29번, 30번, 31번, 32번, 33번

#include using namespace std; const int MAX = 100; int main() { int n; cin >> n; int data[MAX]; // 입력 받은 정수를 배열에 저장 for (int i = 0; i > data[i]; } // 버블 정렬을 사용하여 배열을 오름차순으로 정렬 for (int i = n - 1; i > 0; i--) { for (int j = 0; j data[j + 1]) { int tmp = data[j]; data[j] = data[j + 1]; data[j + 1] = tmp; } } } // 중복된 값을 제거하고 남은 값을 새로운 배열에 저장 int uniqueDat..