Point 클래스 템플릿 특수화


문제 정보
check포인트 : 1 (부분 점수)
schedule시간 제한 : 10.0s
storage메모리 제한 : 256M
edit_square출제자:
 
답안 제출

다음의 출력 결과가 나오도록 Point 클래스 템플릿의 특수화를 수행하라 (Point<string>에 대하여 특수화).

출력 결과

[7, 9]

[7.7, 9.7]

[ab ef, cd gh]

입력 및 Point 클래스 템플릿

#include <iostream>
#include <cstdlib>
using namespace std;

template <class T>
class Point {

private:

    T x;

    T y;

public:

    Point(T n1, T n2) : x(n1), y(n2) {};

    Point() : x(0), y(0) {};

    void ShowPosition() const {

        cout << '[' << x << ", " << y << ']' << endl;

    }
    Point operator+(const Point<T> n2)
    {
        Point<T> object(x + n2.x, y + n2.y);

        return object;
    }

};


int main()
{
    Point<int> int_pt1(3, 4), int_pt2(4, 5), int_pt_res;
    int_pt_res = int_pt1 + int_pt2;
    int_pt_res.ShowPosition();

    Point<double> double_pt1(3.5, 4.2), double_pt2(4.2, 5.5), double_pt_res;
    double_pt_res = double_pt1 + double_pt2;
    double_pt_res.ShowPosition();

    Point<string> string_pt1("ab", "cd"), string_pt2("ef", "gh"), string_pt_res;
    string_pt_res = string_pt1 + string_pt2;
    string_pt_res.ShowPosition();

    return 0;


}

댓글

현재 작성된 댓글이 없습니다.