본문 바로가기

카테고리 없음

2024000303김현진2학기14주차

 

 

 

 

 

 

#include <iostream> // 입출력을 위한 헤더 파일 포함
using std::cout;   // std::cout을 간편하게 사용하기 위해 선언
using std::endl;   // std::endl을 간편하게 사용하기 위해 선언

// 두 개의 템플릿 매개변수 T1과 T2를 가지는 CCC 클래스 정의
template <class T1, class T2>
class CCC {
    T1 x; // T1 타입의 변수 x
    T2 y; // T2 타입의 변수 y
public:
    // 생성자: 두 개의 인자를 받아 x와 y에 초기화
    CCC(T1 xx, T2 yy) {
        x = xx; // x에 xx를 할당
        y = yy; // y에 yy를 할당
    }
    
    // Print 메소드: x와 y를 출력
    void Print() {
        cout << x << ',' << y << endl; // x와 y를 출력하고 줄 바꿈
    }
};

int main() {
    // int 타입의 객체 c1 생성 및 초기화
    CCC<int, int> c1(10, 20);
    
    // double 타입의 객체 c2 생성 및 초기화
    CCC<double, double> c2(3.5, 5.5);
    
    // char와 const char* 타입의 객체 c3 생성 및 초기화
    CCC<char, const char*> c3("I", "Love You!");
    
    // 각 객체의 Print 메소드 호출
    c1.Print(); // c1의 x, y 출력
    c2.Print(); // c2의 x, y 출력
    c3.Print(); // c3의 x, y 출력
    
    return 0; // 프로그램 종료
}

 

 

 

 

 

 

 

 

 


 

 

 

 

#include <iostream> // 입출력을 위한 헤더 파일 포함
using std::cout;   // std::cout을 간편하게 사용하기 위해 선언
using std::cin;    // std::cin을 간편하게 사용하기 위해 선언
using std::endl;   // std::endl을 간편하게 사용하기 위해 선언

// 두 개의 double 값을 받아 나누는 함수
void Div(double ja, double mo) {
    try { // 1. 예외가 발생할 수 있는 코드를 묶음
        if (mo == 0) throw mo;  // 2. 분모가 0일 경우 예외를 던짐
        cout << "결과: " << ja / mo << endl; // 나누기 결과 출력
    }
    catch (double) { // 3. double 타입의 예외를 처리
        cout << "오류: 0으로 나눌 수 없음" << endl; // 예외 발생 시 메시지 출력
    }
    catch (int) { // 3. int 타입의 예외를 처리 (이 예제에서는 사용하지 않음)
        cout << "int 오류: 0으로 나눌 수 없음" << endl; // 예외 발생 시 메시지 출력
    }
}

int main() {
    double x, y; // 분자와 분모를 저장할 변수 선언

    cout << "분자를 입력하세요 = "; // 사용자에게 분자 입력 요청
    cin >> x; // 사용자 입력을 x에 저장
    cout << "분모를 입력하세요 = "; // 사용자에게 분모 입력 요청
    cin >> y; // 사용자 입력을 y에 저장
    Div(x, y); // Div 함수 호출하여 나누기 수행
    return 0; // 프로그램 종료
}


 

 

#include <iostream>
#include <iomanip> //setfill, setw를 사용할때 사용
using namespace std;
int main()
{
	cout << "abcdefg\n";
	cout << 12345 << endl;
	cout << 123.45 << endl;
	cout << "10칸\n";
	cout << setfill('*');
	cout << setw(10) << "abcdefg" << endl;
	cout << setw(10) << 12345 << endl;
	cout << setw(10) << 123.45 << endl;
	return 0;
}

 

 

이번 학기에 뭘 학습했나?

1학년 2학기 C++ 과목을 통해서 객체지향언어의 기본적인 문법을 익혔습니다.  C++11이후 바뀐 모던 C++의 특징에 대해서도 학습하였습니다.

 

클래스를 통해 캡슐화하는 방법, 다형성으로 함수 오버로딩, 상속과 overriding을 통해 코드 재사용 등의 특징을 학습했습니다.

 

또한, template, STL, exception handing, 파일 입출력 등의 문법도 익혀서 C++로 실무 프로젝트를 진행하는데 무리가 없도록 기본 문법을 확실히 이해하고 있습니다.
포트폴리오?

 

구글링/AI : C++ stl file 성적처리

 

직접 만드는 것도 좋지만 좋은 소스를 많이 보고 만들기

 

블로그 관리(저작권, 복붙, 비공개, 꾸준, 습관)