C++/clone code
-
[C++] static_member.cppC++/clone code 2022. 6. 30. 10:34
인스턴스 변수 1. 객체가 생성될 때 각각의 객체들은 자신만의 멤버 변수들을 가진다. -> 인스턴스 변수 2. 인스턴스 변수들은 별도의 기억 공간을 가지고 있다. 정적 멤버 변수 static 자료형 변수 이름; 1. 정적 변수는 모든 객체에 공통인 변수가 필요할 때 사용한다. 2. 정적 변수의 실제 정의는 반드시 클래스 외부에서 해야한다. 3. 정적 변수는 객체를 만들지 않고서도 접근될 수 있다. Car :: numberOfCars = 100; c2.numberOfCars = 100; 정적 멤버 함수 1. 인스턴스 변수 사용(X), 정적 변수와 지역 변수만 사용할 수 있다. 2. 정적 멤버 함수에서 정적 멤버 함수를 호출하는 것은 가능하다. 3. this 포인터를 사용할 수 없다. car.cpp 예제 #..
-
[C++] student.cpp (복사 생성자의 개념)C++/clone code 2022. 6. 29. 00:07
복사 생성자 다른 객체의 내용을 복사해서 새로운 객체를 초기화하는 것 복사 생성자는 자신과 같은 타입의 객체를 매개 변수로 받음 얕은 복사 복사 생성자가 정의되어 있지 않은 경우 컴파일러가 알아서 디폴트 복사 생성자를 추가해줌 Car c1(0, 1, "grey"); Car c2(c1); 얕은 복사의 문제점 #include #include using namespace std; class Student { private: char* name;// 이름 int number;// 학번 public: //생성자 Student(const char* pn, int n) {//const 빠지면 컴파일 오류! name = new char[strlen(pn) + 1];//+1은 null문자 포함한 크기 strcpy(nam..
-
[C++] market.cpp (객체와 클래스에 대한 이해)C++/clone code 2022. 6. 28. 19:39
Power C++ p.387 [목표] 사용자로부터 2개의 상품에 대한 정보를 입력받고, 더 저렴한 상품을 비교하여 출력한다. #include #include #include using namespace std; class Product { private: int id; string name; int price; public: void input(); void print(); bool isCheaper(Product other); }; void Product::input() { cout
-
[C++] 계좌 잔액 조회하기.cpp (객체와 클래스에 대한 이해)C++/clone code 2022. 6. 28. 18:04
Power C++ p.390 [목표] 입금, 출금 등의 동작을 하는 클래스 작성 #include #include using namespace std; //step 1. 클래스 생성 class BankAccount{ private: string name; // 예금주 int account; // 계좌 int balance; // 잔액 public: //getter string getName(); int getAccount(); int getBalance(); //setter void setName(string n); void setAccount(int g); void setBalance(int s); //계산 void deposit(int money); void withdraw(int money); //출..
-
[C++] desk_lamp.cpp (객체와 클래스에 대한 이해)C++/clone code 2022. 6. 28. 17:50
Power C++ p.387 [목표] 책상에 있는 램프의 상태를 출력한다. #include #include using namespace std; class DeskLamp { private: bool isOn; public: void turnOn(); void turnOff(); void print(); }; void DeskLamp::turnOn() { isOn = true; } void DeskLamp::turnOff() { isOn = false; } void DeskLamp::print() { if (isOn == true) cout
-
[C++] find_max_n_min.cpp 최댓값, 최솟값 구하는 프로그램(배열 활용)C++/clone code 2022. 5. 23. 15:40
[프로그램] 1. 사용자로부터 배열의 크기를 입력받는다. 2. 앞서 입력받은 배열의 크기만큼 정수를 입력받는다. 3. 값들 중에서 최댓값, 최솟값을 구한다. ** 일반적인 방식, 함수를 사용한 방식 두 가지로 구현하기 [일반 방식] #include using namespace std; const int SIZE = 50; //배열의 크기를 기호상수로 선언 int main(){ int array[SIZE]; //50 int max; int min; int size; cout > size; //배열의 크기 입력 // Input array elements cout max) max = array[i]; if (array[i] < min) min = array[i]; } cout
-
[C++] 2차원 배열의 이해(two dimensional array)C++/clone code 2022. 5. 23. 14:21
[목표] 2차원 배열을 함수의 매개변수로 사용한다. #include using namespace std; //기호상수 선언 const int YEARS = 3; const int PRODUCTS = 5; // 함수의 매개변수로 2차원 배열 // 맨 앞 []인덱스는 공백으로 놔야한다! (포인터 개념) int sum(int grade[][PRODUCTS]); int main() { int sales[YEARS][PRODUCTS] = { {1,2,3}, {4,5,6}, {7,8,9}, }; //배열의 원소 중괄호 끝에는 세미콜론을 꼭 붙여야 한다. int total_sale = 0; total_sale = sum(sales); cout