반응형

출처 :     https://www.yes24.com/Product/Goods/9328793

1.

객체의 구성요소를 감싸서 보호하고 볼 수 없게 하기 위해

 

2.

 

3.

멤버변수가 public으로 선언되어 누구나 접근 가능하기 때문에 캡슐화 x

 

4.

class Person(){
    int age;
public:
    void older() {
       age++;
    }
};

 

5.

접근지정자의 디폴트가 private 이므로 외부에서 사용이 불가하다. & 마지막 세미콜론

class Circle {
  int radius;
public:
  double getArea();
};

 

6.

생성자에 리턴타입을 선언할 수 없다.

class Tower{
  int height = 20;
public:
  Tower(){
    height = 10;
};

 

7.

매개변수가 있는 생성자를 선언하였으므로 main함수에서 기본 생성자를 호출할수 없다.

class Building {
private:
  int floor;
public:
  Building(int s){
    floor = s;
  }
};

int main(){
  //Building twin, star; 
  Building BlueHouse(5), JangMi(14);
}

 

8.

class Calendar {
private:
  int year;
public:
  Calendar();
  int getYear();
}
Calendar::Calendar(){
  year = 10; 
}

int Calendar::getYear() {
  return year;
}

 

9.

② 중복 생성 가능하다

 

10. 

③ 소멸자에는 매개변수 없다.

 

 

11.

1, 2)

House::House(int n, ins s) {
  numOfRooms = n;
  size = s;
  cout << n << s;
}

House::~House(int n, ins s) {
  cout << n << s;
}

3) 

생성과 반대..

생성 : b-> c-> a -> d

소멸 : d-> a-> c-> b

 

12.

c -> b -> a 생성 순서

a -> b -> c 소멸 순서

 

13. ★

기본 생성자를 public으로 선언하지 않았으므로 멤버 변수에 직접적으로 접근이 불가능하다.

-> 생성자를 public으로 선언한다.

 

14.

멤버 변수를 private로 선언했으므로 외부에서 접근하려고 해서 오류가 난다.

-> 멤버 변수를 public으로 선언한다. or 매개변수로 호출한다.

 

15.

TV(), TV(int a)

 

16. ②

오버헤드가 없어서 실행 속도가 향상된다.

 

17. ① 

크기가 작은 함수의 경우 효과적이다.

 

18. ① 

컴파일러에 따라 재귀, static변수, 반복문, switch문, goto 문등을 가진 함수는 인라인으로 허용 안한다.

 

19. ④

상속을 지원한다.

 

20.

class Family {
  private:
    char tel[11];
  public:
    int count;
    char address[20];
    Family();
};

 

21.

struct Universe {
  private:
    char creator[10];
    int size;
    char dateCreated[10];
  public :
    Universe();
};
반응형

+ Recent posts