C++ Programming: Sample Programs

Slides:



Advertisements
Similar presentations
3. C++와 객체지향 C++ 코딩 방법 객체 단위로 2 개의 파일 인터페이스 파일 구현파일
Advertisements

Power C++ 제6장 포인터와 문자열.
C++ Espresso 제3장 배열과 포인터.
C++ Espresso 제3장 배열과 포인터.
C++ Espresso 제1장 기초 사항.
최윤정 Java 프로그래밍 클래스 상속 최윤정
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
강좌명 : C++프로그래밍 (C++ Programming)
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Chapter 6 구조체.
8. 객체와 클래스 (기본).
Lecture 5 C의 기초적인 값(primitive value)의 컴퓨터에서의 표현 문자, 정수, 실수, 참/거짓
C++ 프로그래밍 2009년 2학기 전자정보공학대학 컴퓨터공학부.
C++ 프로그래밍 2007년 1학기 전자정보공학대학 컴퓨터공학부.
C++ Espresso 제9장 다형성.
10장 템플릿과 표준 템플릿 라이브러리(STL)
명품 C++ 8장 상속.
C++ Espresso 제6장 생성자와 소멸자.
윤성우의 열혈 C++ 프로그래밍 윤성우 저 열혈강의 C++ 프로그래밍 개정판 Chapter 03. 클래스의 기본.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
상속이란? - 기반클래스로부터 다른 클래스를 파생하는 법 protected란? 가상함수 (virtual function)
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
명품 C++ 7장 프렌드와 연산자 중복.
18장. 헤더 파일과 구현 파일 01_ 헤더 파일과 구현 파일의 사용.
14장. 함수 1 01_ 함수의 기본 02_ 인자의 전달.
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
1. C++ 시작하기.
C ++ 프로그래밍 시작.
정적 멤버 변수/정적 멤버 함수 - friend 함수/클래스 template
Chapter 1 C++ 기초 Copyright © 2010 Pearson Addison-Wesley. All rights reserved.
C++ Programming: chapter 7 – inheritence
김 정 석 Web Programming 김 정 석
C++ 개요 객체지향 윈도우즈 프로그래밍 한국성서대학교 유일선
스택(Stack) 김진수
명품 C++ 프로그래밍 1장. C++ 시작.
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
Chapter 3 클래스. 최호성.
제14장 예외처리와 템플릿 예외 처리의 개요를 학습한다. 예외 처리를 적용할 수 있다. 템플릿의 개념을 이해한다.
제1장 프로그래밍 기초
제5장 생성자와 접근제어 객체 지향 기법을 이해한다. 클래스를 작성할 수 있다. 클래스에서 객체를 생성할 수 있다.
소프트웨어 공학 (Software Engineering)
가상함수와 추상 클래스.
메소드와 클래스 정의 및 문제 풀이 Method and Class Define and Problem Solve
4. 고급변수 사용 : 포인터와 관련하여 메모리 바라보기
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
제 4장. 객체 지향 프로그래밍 시작하기 학기 프로그래밍언어및실습 (C++).
Chapter3 : 객체지향의 개념 3.1 객체지향(object-oriented)과
Chap02 객체 지향 개념 2.1 객체지향(object-oriented)과 절차지향(procedural-oriented)
멤버 함수인 operator+()가 실행, 또는 전역 함수인 operator+()가 실행 Point p3 = p1+p2; 에서
2019 Spring Ki-Joune Li ( Pusan National University
제8장 포인터와 동적객체 생성 포인터의 개념을 이해한다. 포인터와 관련된 연산을 이해한다.
Chapter 02. 소프트웨어와 자료구조.
5. 논리적 자료표현 : 구조체.
제 11장. 템플릿과 STL 학기 프로그래밍언어및실습 (C++).
3장,4장 발표 서정우.
03. 메모리 관리 C++ 프로그램에서 다룰 수 있는 메모리의 종류
C++ Espresso 제13장 입출력과 파일처리.
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
10장 템플릿과 표준 템플릿 라이브러리(STL)
Java 5장. 객체지향 개념 public class SumTest {
컴퓨터 계측 및 실습 C++ 기초 영남대학교 기계공학부.
캡슐화 (Encapsulation) 두원공과대학 소프트웨어개발과 이 원 주.
.Net FrameWork for Web2.0 한석수
Chapter 14. 템플릿(Template) 2
실습과제 1번 /* 1. 멤버 변수로 반경 radius를 갖고, 그 값을 모니터에 출력하는
어서와 C언어는 처음이지 제16장.
4 다문화 및 탈북학생 멘토링 진행.
C.
C++ 언어의 특징
프로그래밍 기법 최적화 프로그래밍.
Presentation transcript:

C++ Programming: Sample Programs 2018, Spring Pusan National University Ki-Joune Li http://lik.pnu.kr

#include <stdio.h> typedef struct {float x; float y;} Point; int main(){ Point A={1.0, 2.0}; Point B={2.0, 3.0}; Point C; C=A+B; printf(… C); } #include <stdio.h> typedef struct {float x; float y;} Point; typedef struct {int n; float *values;} Vector; int main(){ Vector A, B, C; A.values=(float *)malloc(sizeof(float)*n); B.values=(float *)malloc(sizeof(float)*n); C=A+B; printf(… C); }

Point::Point()  {    cout << “I love him\n”; }  #include <iostream> using namespace std; class Point { private: float x; float y; public: Point(); Point(const Point &); Point operator+(Point B); friend ostream& operator<<(ostream&, const Point&); }; int main(){ Point A(1.0,2.0), B(3.0,4.0), C; C=A+B; cout<< C; } Point::Point(const Point & rhs)  {     temp.x = rhs.x;  temp.y = rhs.y;   cout << “I hate him\n”; }  Point  Point::operator+(Point op)  {    Point temp;      temp.x = x + op2.x;     temp.y = y + op2.y;     return temp;  }  ostream& operator<<(ostream& os, const Point& p)  {    os << "(" << p.x << ","<< p,y<<")\n"; return os;  } 

#include <iostream> using namespace std; class Vector { . . . }; int main(){ Vector A(5,2.0), B(5, 1.1); Vector C(5,0.0); C=A+B; cout<< C; }

C-language != C++ Language Syntax는 동일하지만, Semantics는 전혀 다른 언어 같아 보여도 같지 않을 수 있다는 것에 매우 주의 필요 객체지향형(Object-Oriented) 언어 1983년, 1985년 B. Stroustrup 에 의하여 만들어지고 1998년 C++ Standard가 제정됨

프로그램의 복잡도 프로그램의 크기

프로그램을 하는데 왜 느닷없이 “추상화”라는 개념이??

건축의 단계 컴퓨터 시스템 개발의 단계 무엇을 지을 것인가? 특별한 고려사항? 설계 시공 준공검사 유지보수 개략적 설계  상세설계 건물재료에 대한 설계 건축 방법에 대한 설계 유지 방법에 대한 설계 시공 준공검사 유지보수 무엇을 개발할 것인가? 특별한 고려사항? 설계 개략적 설계  상세설계 정보에 대한 설계 개발 방법에 대한 설계 유지 방법에 대한 설계 코딩(프로그래밍) 검사 유지보수

어떻게 하면 소프트웨어의 복잡도를 줄일 수 있을까?

객체지향 (Object-Oriented) 방법론 추상화 Encapsulation 예. 콘택 600 예. ??

Versus Module A-2 Module A-1 Module A-3 Module 3 Module 2 Module 1 Encapsulation Module 1 Module 3 Module 2

C++ 의 어떤 기능이 추상화를 도와주는가? Inheritance: Super Class, Subclass Operator Overloading Polymorphism Template Etc.