반응형
●new 연산자 - 오브젝트를 동적으로 생성할 때 사용
ex)
A *a;
a=new A;
A *a=new A;
●delete 연산자 - new연산자로 확보한 메모리는 delete연산자로 해체해야한다.
ex)
A *a=new A;
delete a;
●new, delete를 이용해서 int형 등의 메모리 확보, 해체
ex)
int *a=new int;
delete a;
//malloc,free를 쓸경우
int *a=(itn *)malloc(sizeof(int));
free(a);
●malloc()함수보다 new연산자를 사용하는 것이 간단하기 때문에 권장
●new연산자를 이용한 배열용 메모리 확보, 해체
ex)
a=new[10]; //[]안에 숫자 적어야 함
delete []a; //delete뒤에 '[]'기술해야 함
●참조
- 변수에 별명을 붙이는것. c언어의 포인터와 달리 사용할때 '*' 안 써도 된다. 한쪽을 변경하면 다른 한쪽도 동일하게 변경된다. '&'사용.
ex)
int a;
int &b=a; //b가 별명이다.
b=10;
cout<<b<<endl; //b는10 이다
cout<<a<<endl; //a는10 이다
●함수의 인수로 참조를 사용하기 - 가인수를 참조하면 함수내부에서 실인수를 변경할 수 있다.
ex)
double A(double &a, double &b){
return a+b;
}
double x=1.1 , y=2.2;
double ans=A(x, y);
●인수를 const 형식의 참조로 만들
- 실인수의 값이 변경되면 곤란한 경우 가인수에 onst를 붙인다. 구조체 같은 큰 데이터를 함수에 전달할 때 const형식으로 하면 효과적이다.
ex)
void A(const double &a)
{
~~~
}
●상속 - 이미 존재하는 클래스를 바탕으로 새로운 크랠스를 만드는 것.
클래스명 뒤에 ' :접근제한자 부모클래스명 '을 기술
ex)
class Food{
~~
};
class Fruit :public Food {
~~
};
●자식 클래스의 오브젝트는 부모클래스의 오브젝트에 대입 가능
부모 클래스의 오브젝트는 자식클래스의 오브젝트에 대입 불가능
●자식 클래스에서 부모 클래스의 멤버함수를 재정의
- 함수명, 인수, 반환값은 동일해야함. 재정의 한쪽의 함수가 호출됨
ex)
class Food{
public:
void setP(int a){
price=a;
}
private:
int price;
};
class Fruit :public Food{
public:
void setP(int a){
Food::setP(a-20); //자식클래스에서 부모클래스에 있는 같은 이름의 함수를 호출하기 위해서는
} //스코프연산자(::)를 사용
};
●가상 함수를 재정의 한 것을 오버라이딩이라 한다.
●순수 가상 함수
- 기본 클래스에서 내용을 정의하지 않은 가상함수. 순수가상함수를 포함하는 클래스의 오브젝트는 생성X. 함수 선언 제일 앞에 'virtual'을 쓰고 제일 뒤에 '=0'을 붙인다.
ex)
class Food{
public:
virtual void setP(int a)=0;
};
반응형
'프로그래밍 > c++' 카테고리의 다른 글
c++ visual c++로 프로젝트 시작하기 (0) | 2013.06.11 |
---|---|
c++ 폴더안에 있는 헤더파일 include (0) | 2013.05.26 |
c++ 기본 문법 정리4 (0) | 2012.02.17 |
c++ 기본 문법 정리2 (0) | 2012.02.16 |
c++ 기본 문법 정리1 (0) | 2012.02.16 |
댓글