Presentation is loading. Please wait.

Presentation is loading. Please wait.

C++ Programming: Sample Programs

Similar presentations


Presentation on theme: "C++ Programming: Sample Programs"— Presentation transcript:

1 C++ Programming: Sample Programs
2018, Spring Pusan National University Ki-Joune Li

2 #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); }

3 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;  } 

4 #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; }

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

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

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

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

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

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

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

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


Download ppt "C++ Programming: Sample Programs"

Similar presentations


Ads by Google