Difference between r1.9 and the current
@@ -1,6 +1,4 @@
'''Object Oriented Programming Study'''
= '''Object Oriented Programming Study''' =
== 개요 ==* 객체지향 프로그래밍 과목 팀플 겸 스터디
* C++ 언어를 공부합니다.
@@ -10,121 +8,12 @@
== 인원 ==
* [송치완], [최다인], [김한성], [김성원], [추성준], [정성우]
== 내용 ==
=== 09.04 ===
* 날짜와 시간을 정함
=== 09.12 ===
위의 객체들은 <iostream>에 정의되어 있다.
#include <iostream>과 같은 전처리기 지시자는 파일 시작부에 명기 되어야 한다.
ex) cout<<numberOfGames<<"Games Played"<<endl;
endl객체는 \n과 같은 역할이지만 endl의 사용을 권장한다.
단점 숫자 값의 출력 형식을 지정하지 않아 의도대로 출력되지 않을 수도 있다.
숫자 값의 출력 형식 지정
cout.setf(ios::fixed);
cout.setf(ios::showpoin);
cout.precision(2);
cerr
cerr객체는 cout과 동일하게 동작한다.
일반 출력과 에러 출력간의 구분 메커니즘을 제공
cout과 반대로 '>>'을 사용한다.
cin>>num;
* namespace
정의된 이름의 집합
대표적으로 std가 있다. cou, cin은 사실 std::cout, std::cin이다. std라는 네임스페이스에 속해있는데 이를 생략하기 위해 namespace를 쓴다.
#include <iostream>
int main(){
std::cout<<"Hello"<<std::endl;
}
#include <iostream>
using namespace std;
int main(){
cout<<"Hello"<<endl;
}
usingnamespace는 하나만 사용한다.
C++의 경우 헤더파일의 확장자인 .h를 생략한다.
C에서 라이브러리의 경우 .h를 생략하고 c를 앞에 붙인다
<stdio.h> -> <cstdio>, <time.h> -> <ctime>
for(int i=0; i<j ;i++){
/*blah*/
}
* Default 인자
void box(int x, int y, int z = 3){
returm x*y*z;
}
box(1,2)의 경우 마지막 인자는 3으로 자동지정된다.
default 인자는 끝에서 부터 명시해 준다.
클래스는 멤버 변수와 멤버 함수를 가진다. 구조체 정의와 유사하지만 클래스 안에는 함수를 선언하는 것이 가능하다.정의는 구조체 밖에서 정의한다. 클래스는 OOP의 핵심이다.
클래스와 객체의 관계는 붕어빵틀과 붕어빵의 관계이다.
::는 틀로의 접근이고, .는 빵에 접근하는 개념이다.
class DayOfYear
{
public:
void output;
private:
int month;
int day;
};
void DayOfYear::output(){
std::cout<<"Hello";
}
접근제한자
public
외부에서 접근이 가능함.(클래스 기준)
클래스 내의 멤버변수는
private
외부에서 접근이 불가능함.
protected
* OOP 규칙
정보 은닉
클래스 사용자는 연산이 어떻게 동작하는 지에 대한
세부사항은 알 수 없음
데이터 추상화
사용자는 클래스 내에서 데이터가 어떻게 취급되는지에
대한 사항을 알지 못함
캡슐화
데이터와 연산을 함께 제공하지만, 자세한 사항은 숨김
프로그램의 자세한 구조를 몰라도 프로그램을 쓸 수 있어야 함.
자세한 내용은 알려줄 필요가 없다.
=== 09.12 ===
* [Oops/과제/2014.09.12]
* [송치완], [최다인], [김한성], [김성원], [추성준], [정성우]
== 내용 ==
* C++에서 Input/Output 객체로는 cin, cout, cerr이 있다.
* cout - cout은 C에서의 printf와 같은 역할을 한다.
* cin
* C에서 온 라이브러리
* C++에서는 프로그램 중간에 변수를 선언할 수 있다.
* Class
* 2014.09.04 : 날짜와 시간을 정함
* [Oops/내용/2014.09.12]
* [Oops/내용/2014.09.19]
* [Oops/내용/2014.10.03]
* [Oops/내용/2014.10.31]
* [Oops/내용/2014.11.07]
* 2014.11.14 / 2014.11.21 - OOP team project
== 과제 ==Object Oriented Programming Study ¶
개요 ¶
- 객체지향 프로그래밍 과목 팀플 겸 스터디
- C++ 언어를 공부합니다.
- 금요일 오후 3시
- 추가 인원 받지 않습니다
내용 ¶
- 2014.09.04 : 날짜와 시간을 정함
- Oops/내용/2014.09.12
- Oops/내용/2014.09.19
- Oops/내용/2014.10.03
- Oops/내용/2014.10.31
- Oops/내용/2014.11.07
- 2014.11.14 / 2014.11.21 - OOP team project