5주차 퀴즈

문제1

다음의 예로,
객체 지향의 특징 중에서 추상화의 개념에 대해서 설명하세요(2점).

#include <iostream>
using namespace std;

class Student
{
private:
    string m_name;

public:
    Student(const string &n) : m_name(n){ };
    const string& name(){ return m_name; };
};

int main()
{
    Student s1("tom"), s2("jane");

    cout << s1.name() << endl;
    cout << s2.name() << endl;

    return 0;
}

문제2

다음의 예로,
객체 지향의 특징 중에서 캡슐화의 개념에 대해서 설명하세요(2점).

#include <iostream>
using namespace std;

class Rect {
private:
    int width, height;

public:
    Rect(int w, int h) : width(w), height(h){};
    int Area() const { return width * height; };
};

int main()
{
    Rect r(10, 20);
    cout << r.Area() << endl;

    return 0;
}

문제3

국어, 영어, 수학 점수를 저장(멤버 변수)하고, 총점과 평균을 출력
(멤버 함수)하도록 문제1의 Student 클래스를 확장하세요.
다음 메인 함수에서 사용하는 데에 문제가 없어야 합니다(6점).

#include <iostream>
using namespace std;

class Student
{
public:
    Student(const string &n) : m_name(n){ };
    const string& name(){ return m_name; };

private:
    string m_name;

    // insert your code here
};

int main(){
    Student s1("tom");

    s1.setKorean(85);
    s1.setEnglish(80);
    s1.setMath(95);

    cout << "total: " << s1.getTotal() << endl;
    cout << "average: " << s1.getAverage() << endl;
}

댓글남기기