본문 바로가기
728x90

명품c++19

[C++/명품 C++ Programming]명품 C++ 8장 연습문제 - 이론 문제 1. 2번 2. 1번 3. 3번 protected는 상속받은 클래스만 사용이 가능하다. 4. 4번 D클래스가 A클래스를 직접적으로 상속받지 않았기 때문이다. 5. 2번 A클래스에서 변수 x는 private멤버이다. 6. 1번 A클래스에서 변수 x는 private멤버이다. 2번 B클래스에서 변수 y는 private멤버이다. 4번 B클래스에서 A클래스를 protected로 상속받았으므로 외부에서 A클래스의 함수를 사용할 수 없다. 7. (1) 2번 업 캐스팅 , 3번 다운 캐스팅 (2) A클래스의 객체 a를 가리키는 B클래스의 포인터 q이다. 객체 a는 처음부터 A클래스의 것만 가지고 있지 B클래스의 것을 가지고 있지 않으므로 B클래스의 변수 y는 존재하지 않는다. 8. (1) 3번 B클래스와 C클래스는 A.. 2022. 2. 4.
[C++/명품 C++ Programming]명품 C++ 7장 연습문제 - 실습 문제 1. (1) #include #include using namespace std; class Book { string title; int price, pages; public: Book(string title = "", int price = 0, int pages = 0) { this->title = title; this->price = price; this->pages = pages; } Book &operator+=(int x) { price += x; return *this; } Book &operator-=(int x) { price -= x; return *this; } void show() { cout 2022. 1. 26.
[C++/명품 C++ Programming]명품 C++ 7장 연습문제 - 이론 문제 1. 1번 클래스 전체 멤버 함수를 프렌드로 선언할 수 있다. 2. 4번 함수 중복은 프렌드 함수를 사용하지 않아도 가능하다. 3. class Sample { friend SampleManager; }; 4. class Sample { friend bool SampleManager::compare(Sample &a, Sample &b); }; 5. 프렌드 함수로 선언하지 않고 클래스 Student의 private멤버 변수를 사용하면 접근할 수가 없다. class Student { int id; public: Student(int id) { this->id = id; } friend bool isValid(Student s); }; bool isValid(Student s) { if(s.id > 0) re.. 2022. 1. 24.
[C++/명품 C++ Programming]명품 C++ 6장 연습문제 - 실습 문제 1. (1) #include using namespace std; int add(int a[], int n) { int sum = 0; for (int i = 0; i < n; i++) sum += a[i]; return sum; } int add(int a[], int n, int b[]) { int sum = 0; for (int i = 0; i < n; i++) sum += a[i] + b[i]; return sum; } int main() { int a[] = {1, 2, 3, 4, 5}; int b[] = {6, 7, 8, 9, 10}; int c = add(a, 5); int d = add(a, 5, b); cout 2022. 1. 13.
728x90