|
생성자는 지금까지 마니 써봐서 별 문제가 없는데요
소멸자는 요번에 처음 써봤네요
~Array() {delete [n+1]v;}이런식으로 써놯떠라구요
음.. 그러니까 소멸자 쓰는 형식을 정확하게 모르겠어요
보통 배열은 v[n+1]이렇게 쓰는건줄알고있는데요
소멸자안에 있는것은 [n+1]v<- 이렇게 써져있네요 그래서 자리를 바꿔봤더니--;;
에러가 나더군요 ㅡㅡ;
그럼 즐거운 하루되시구요
고수님들 부탁드립니다.
#include <stdio.h>
class Array {
int *v;
int n;
public:
Array(int s) {n=s;v=new int[n+1];}
~Array() {delete [n+1]v;}
int &operator() (int);
};
int& Array ::operator () (int i)
{
int *dumy=new int;
if(0<=i&&i<=n)
return(v[i]);
else{
printf("%d is out of range\n",i);
return(*dumy);
}
}
void main(void)
{
Array a(10),b(10);
a(5)=10; b(5)=20;
a(10)=a(5)+b(5);
a(11)=a(10);
printf("%d %d %d\n",a(5),b(5),a(10));
}
|