반응형
●c++은 객체지향 프로그래밍 언어이다
●확장자는 '.cpp' 사용
●c++ 기본구조
ex)
#include <iostream>
int main(){
std::cout<<"hello world\n";
return 0;
}
●구조체 - 여러개의 변수를 하나로 묶은것
클래스 - 변수와 함수를 하나로 묶은것
●오브젝트(object)
-클래스는 변수의 자료형과 같은 것으로 그 자체로는 값을 저장할수 없다. 오브젝트는 클래스를 바탕으로 값을 저장할 수 있는 실체이자
●클래스의 정의
ex)
class Aaa{
public: //접근 제한자 뒤에 ':(콜론)''붙임, 접근제한자 생략하면 모든 멤버는 private가 된다
void Add(int a); //클래스 외부에 함수 정의
int Del(int b){ //클래스 내부에 함수 정의
return b;
}
int x, y;
}; //클래스 끝에 ';(세미콜론)' 기술
void Aaa::Add(int a){ //'클래스명::함수명'을 써서 어느 클래스의 멤버함수인지 구분
total+=a;
}
●오브젝트(객체)의 생성
- '클래스명 오브젝트명;' //변수 선언과 유사하다
●같은 오브젝트 내의 멤버함수 호출 - 그냥 함수명만 기술하면 된다
●다른 오브젝트의 멤버함수를 호출 - '.(피리어드)'를 사용한다
- '오브젝트명.함수명();'
●생성자(constructor) - 오브젝트를 생성할때 자동적으로 호출되는 특수한 함수. 생성자는 public로 해야한다.
ex)
class Aaa{
public:
Aaa(); //생성자는 반환값이 없고, void형 지정도 하지 않는다.
};
Aaa:Aaa(){
total=0;
}
int main(){
Aaa a;
}
●소멸자(destructor)
- 오브젝트가 소멸할때 호출됨. public로 해야한다. 프로그래머가 소멸자를 정의하지 않으면 디폴트로 준비도니다. 클래스 안에 하나만 정의할 수 있다. 소멸자의 선언은 '~'를 기술하여 쓴다.
ex)
class Aaa{
public:
Aaa();
~Aaa();
};
Aaa::~Aaa(){
printf("임수 완료\n");
}
●
c언어에서는 블록안의 선두에서 변수를 선언해야 했지만
c++에서는 변수를 사용하기 전이라면 어디에서나 선언할 수 있다.
될수 있으면 변수선언은 사용하기 직전에 하는게 좋다
●c++에서는 for문안에 카운터를 선언할 수 있다.
ex)
for( int i=1; i<5; i++ )
반응형
'프로그래밍 > c++' 카테고리의 다른 글
c++ visual c++로 프로젝트 시작하기 (0) | 2013.06.11 |
---|---|
c++ 폴더안에 있는 헤더파일 include (0) | 2013.05.26 |
c++ 기본 문법 정리4 (0) | 2012.02.17 |
c++ 기본 문법 정리3 (0) | 2012.02.17 |
c++ 기본 문법 정리2 (0) | 2012.02.16 |
댓글