c++ programming : exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3....

55
SCLAB Smart Computing LAB C++ Programming : Exercise week1 Instructor: Young-guk Ha Dept. of Computer Science & Engineering

Upload: others

Post on 31-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

C++ Programming :

Exerciseweek1

Instructor: Young-guk HaDept. of Computer Science & Engineering

Page 2: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

00 CONTENTS

▪ 01 Visual Studio Tutorial

▪ 02 Exercise

▪ 03 Assignments

▪ 04 Submission

Page 3: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

Visual Studio Tutorial

Page 4: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 아래 링크를 통해 OS에 맞는 Visual Studio 2019 Community 설치(https://visualstudio.microsoft.com/ko/downloads/)

▪ 다운로드 후 Installer 실행

Download

Page 5: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ Installer 실행후워크로드에서 반드시 C++를사용한데스크탑개발선택할것

Create Project

선택!

Page 6: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 설치완료 후 Visual Studio 2019 실행하여 새프로젝트 만들기

Create Project

Page 7: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 빈 프로젝트 선택Create Project

선택!

Page 8: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 프로젝트 이름, 설치될 경로(위치), 솔루션 이름 기입Create Project

기입!

Page 9: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 프로젝트가 생성되면 다음과 같은 화면이 나옴Create Project

솔루션 탐색기를 통해 생성한프로젝트 이름 확인

Page 10: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 프로젝트 생성 후 솔루션 탐색기에서 소스파일우클릭 > 추가 > 새항목 에서 파일을 생성할 수 있음

Create File

선택!

Page 11: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 생성할 cpp 파일을 선택하고 이름 기입Create File

선택!

Page 12: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 파일이름을 main 이라고 기입한 후 생성한 결과화면Create File

생성한 파일 확인 가능

코드 작성 공간

Page 13: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 다음과 같이 예제 코드 작성Create File

예제 코드

Page 14: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 상단의 메뉴창에서 빌드 > 솔루션빌드를 선택하여작성한 코드를 실행 가능하도록 만듦

Create File

선택!

Page 15: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 빌드 결과는 하단 출력 콘솔창에서 확인할 수 있음Create File

Page 16: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 상단 메뉴창에서 디버그 > 디버그하지않고시작을선택하여 빌드한 솔루션 실행

Create File

선택!

Page 17: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 작성한 코드가 실행되는 콘솔창이 뜨고, 자신의 이름을입력하면 그 결과를 확인할 수 있음

Create File

이름 입력

입력 결과 확인

Page 18: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 디버깅하는 방법은 중단점을 만들고 디버깅을 시작

▪ 중단점은 원하는 코드에서 우측클릭 > 중단점 > 중단점 삽입을 선택

Debug

선택!

Page 19: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 생성된 중단점은 다음과 같이 좌측에 빨간점으로표시가 되고, 중단점을 삭제하고 싶으면 빨간점을우클릭하여 중단점 삭제를 선택

Debug

생성된 중단점 표시

Page 20: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 중단점을 생성한 후 상단의 메뉴창에서 디버그 > 디버그시작을 선택함

Debug

선택!

Page 21: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 디버깅을 시작하면 실행화면처럼 콘솔이 뜨고, 코드가순차적으로 실행되면서 중단점에서는 실행이 잠시 멈춤

Debug

첫번째 중단점을 만나 실행이 멈추며, 변수의 값과 상태 등을 확인하며디버깅 할 수 있음

Page 22: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

01 Visual Studio Tutorial

▪ 상단의 계속을 누르면 중단점을 통과하여 다음중단점을 만나기 전 까지 코드가 실행이 됨

Debug

1. 계속을 눌러 첫번째 중단점 이후에 이름을입력 받는 코드가 실행이 됨

2. 코드가 실행이 되어 이름 기입

3. 앞 슬라이드와 비교하여 myName의 값이기입한 이름의 값으로 변경됨을 확인할 수 있음

4. 두번째 중단점에서 실행이 잠시 멈춤

Page 23: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 Exercise

Exercise

Page 24: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseClass in C++

▪ C언어에서의 구조체 사용→ 연관 있는 데이터를 하나로 묶어 프로그램의 구현

및 관리가 용이

▪ C언어에서는 구조체와 연관된 함수를 구조체 안으로삽입할 수 없었음, 하지만 C++에서는 포함할 수 있음

Page 25: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseClass in C++

Main.cpp

실행결과화면

Page 26: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseClass in C++

▪ 구조체와 클래스의 차이점- Struct 키워드 대신 Class 키워드 사용- 접근 제어 지시자 사용

▪ 접근제어 지시자- public : 어디서든 접근허용- protected : 상속관계인 경우 접근허용- private : 클래스 내에서만 접근허용

Page 27: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseClass in C++

Main.cpp

Main.cpp

Page 28: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseClass in C++

▪ 클래스 내에 선언된 변수와 함수를 ‘멤버변수’와‘멤버함수’ 라고 함

멤버변수

멤버함수

Page 29: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseOOP, Class, Object, Instance

▪ 객체지향 프로그래밍(OOP)은 현실에 존재하는사물(대상)과 그에 따른 행동을 실체화 시킴

ex) “홍길동은 사과장수에게 세 개의 사과를 구매했다“

- 객체의 종류 : “홍길동(구매자), 사과장수(판매자), 사과(판매의 주체)“

- 사과장수를 판매자입장에서 실체화해보면,1. 사과장수는 사과를 판다.

2. 사과장수는 사과를 50개 보유하고 있다.

3. 사과장수는 사과를 팔아 오늘 10,000원을 벌었다.

Page 30: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseOOP, Class, Object, Instance

▪ 객체지향 프로그래밍(OOP)은 현실에 존재하는사물(대상)과 그에 따른 행동을 실체화 시킴

ex) “홍길동은 사과장수에게 세 개의 사과를 구매했다“

- 객체의 종류 : “홍길동(구매자), 사과장수(판매자), 사과(판매의 주체)“

- 사과장수를 판매자입장에서 판매자 객체로 실체화해보면,1. 사과장수는 사과를 판다. → 객체의 행동, 기능

2. 사과장수는 사과를 50개 보유하고 있다. → 객체의 상태

3. 사과장수는 사과를 팔아 오늘 10,000원을 벌었다. → 객체의 상태

Page 31: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseOOP, Class, Object, Instance

▪ 객체(Object)는 하나 이상의 상태 정보(데이터)와 하나이상의 행동(기능)으로 구성됨

- 보유하고 있는 사과수 → int numOfApple

- 수익 → int earnMoney;

- 사과를 판다 → void SaleApple(int buyApple) {numOfApple -= buyApple;earnMoney += buyApple * 사과1개 가격;

}

Page 32: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseOOP, Class, Object, Instance

▪ 클래스(Class)는 객체를 생성하기 위한 설계도 or 틀

▪ 객체(Object)는 소프트웨어 상에 실체화 할 대상

▪ 인스턴스(Instance)는 설계도 or 틀(클래스)를바탕으로 실제 소프트웨어 상에 실체화된 것

- 객체를 소프트웨어 상에 실체화 하면 인스턴스가 됨

- 실체화된 인스턴스는 컴퓨터 메모리에 할당 됨

Page 33: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseConstructor & Destructor in Class

▪ 생성자와 소멸자는 객체의 생성과 소멸에 있어 필수

▪ 객체는 생성과 동시에 적절한 값으로 초기화가 되야함→ 생성자가 호출되야 함!

▪ 생성자 특징

- 클래스의 이름과 동일한 함수 이름을 가짐

- 반환형이 선언되어 있지 않고 반환을 하지 않음

Page 34: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseConstructor & Destructor in Class

▪ 생성자와 소멸자는 객체의 생성과 소멸에 있어 필수

▪ 객체가 소멸시 반드시 소멸자가 호출 됨

▪ 소멸자 특징

- 클래스 이름 앞에 ‘~’가 붙은 함수 이름을 가짐

- 반환형이 선언되어 있지 않고 반환을 하지 않음

Page 35: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseConstructor & Destructor in Class

생성자

소멸자

실행결과화면

Page 36: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 Exercise

▪ C++ 소스파일을 효율적으로 관리하기 위해 header file과 cpp file을 분할할 필요가 있음, 앞으로 모든Exercise 및 Assignments 은 파일을 분할할 것

- header file : 클래스의 선언부 (확장자 .h)

- cpp file : 클래스의 구현부 (확장자 .cpp)

- main cpp file : 프로그램 실행부 (확장자 .cpp)

C++ file split (h file & cpp file)

Page 37: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseC++ file split (h file & cpp file)

클래스 선언부(.h)

클래스 구현부(.cpp)

프로그램실행부(.cpp)

▪ 클래스 구현부에서는 클래스 선언부 헤더파일을가져와 클래스의 동작들을 구현

▪ 프로그램 실행부에서는 클래스 헤더파일을 가져와구현된 클래스 동작을 사용

구현 사용

Page 38: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 Exercise

▪ 다음과 같은 클래스 멤버 변수와 함수를 가지는window 클래스를 만들어 보고 실행해보기

Exercise 1 : Class

Window.h

Window.cpp

Page 39: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 Exercise

▪ 다음과 같은 클래스 멤버 변수와 함수를 가지는window 클래스를 만들어 보고 실행해보기

Exercise 1 : Class

Main.cpp 실행결과화면

Page 40: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseExercise 1 : Class

직접 코딩해보세요

Page 41: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 Exercise

▪ Exercise1 에서 만든 window 클래스를 상속받은MenuWindow, DialogWindow 클래스를 만들고실행해보기

Exercise 2 : Inheritance

MenuWindow.h

MenuWindow.cpp

Page 42: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 Exercise

▪ Exercise1 에서 만든 window 클래스를 상속받은MenuWindow, DialogWindow 클래스를 만들고실행해보기

Exercise 2 : Inheritance

DialogWindow.h

DialogWindow.cpp

Page 43: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 Exercise

▪ Exercise1 에서 만든 window 클래스를 상속받은MenuWindow, DialogWindow 클래스를 만들고실행해보기

Exercise 2 : Inheritance

Main.cpp

실행결과화면

Page 44: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseExercise 2 : Inheritance

직접 코딩해보세요

Page 45: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 Exercise

▪ 다형성을 확인하기위해 Window, MenuWindow, DialogWindow 클래스에 displayOverride 함수를추가하고 실행해보기

Exercise 3 : Polymorphism

Window.h

Window.cpp

Page 46: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 Exercise

▪ 다형성을 확인하기위해 Window, MenuWindow, DialogWindow 클래스에 displayOverride 함수를추가하고 실행해보기

Exercise 3 : Polymorphism

MenuWindow.h

MenuWindow.cpp

Page 47: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 Exercise

▪ 다형성을 확인하기위해 Window, MenuWindow, DialogWindow 클래스에 displayOverride 함수를추가하고 실행해보기

Exercise 3 : Polymorphism

DialogWindow.h

DialogWindow.cpp

Page 48: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 Exercise

▪ 다형성을 확인하기위해 Window, MenuWindow, DialogWindow 클래스에 displayOverride 함수를추가하고 실행해보기

Exercise 3 : Polymorphism

Main.cpp

실행결과화면

Virtual 제거한 실행결과화면

Page 49: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

02 ExerciseExercise 3 : Polymorphism

직접 코딩해보세요

Page 50: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

03 Assignments

Assignments

Page 51: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

03 Assignments

▪ 1주차 과제는 다음 조건을 만족하는 클래스를 만들기- 이름 : Calculator- 조건1 : 콘솔창을 통해 키보드입력으로 계산식 입력 받기- 조건2 : 연산자는 덧셈, 뺄셈 2개만 가능- 조건3 : 연산자 외 수식은 괄호 ‘( , )’ 만 사용 가능하며 괄호 안의 식은

먼저 계산이 되어야 하며 계산 과정을 출력할 것- 조건4 : 괄호는 중복으로 사용할 수 있어야 하며, 괄호 안에 괄호가 있는

경우는 안쪽 괄호가 먼저 계산이 되야 함

▪ 클래스를 만든 후 다음 세 식을 입력하여 다음과 같이출력이 나오도록 구성

Assignments

Page 52: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

03 Assignments

▪ 과제 제출 기한은 일요일(3월 22일) 밤 11:59 까지업로드 부탁드립니다

▪ 과제 제출 위치는 ecampus 접속 > 객체지향프로그래밍 > 과제 > week1 과제란에업로드하세요

▪ 과제에 사용한 프로젝트 폴더 모두 압축해서 .zip 파일로 만드셔서 올려주시면 됩니다.(안될 시 사용한 헤더파일, 시플플파일만 따로폴더하나에 담아 압축하셔서 올려주세요!)

Assignments

Page 53: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

04 Submission

Submission

Page 54: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

04 Submission

▪ Teaching Assistant 김철진

- Office : 신공학관 1216호 (SCLAB)

- 과제 제출은 반드시 ecampus에 업로드하세요

- Email : [email protected]

- 수업 관련 질문은 위 메일로 연락하세요

Submission Information

Page 55: C++ Programming : Exercisesclab.konkuk.ac.kr/attachments/lecture/7/객체지향... · 2020. 3. 16. · SCLAB SmartComputing LAB C++ Programming : Exercise week1 Instructor: Young-guk

SCLABSmart Computing LAB

THANK YOU- END -