#include
using namespace std;
class Stack{
private:
int begin; //시작지점
int end; //끝지점
int now; //현재지점
int* arr; //스택 배열
public:
Stack (int length) :begin(0),end(length-1),now(0){
int* arr = new int[length];
}
void push(int num){
cout<<"들어옴"; //이건 출력되는데
if(now==end){
cout<<"스택이 꽉찼습니다.";
}else{
arr[now]=num; //여기서 진행안되고 이상한값 리턴하면서 끝남
cout<//이거 출력 안되는거 보면 윗줄에서 끝난거
}
cout<<"나감";
}
~Stack(){
delete arr;
cout<<"삭제됨";
}
};
int main(void){
Stack s1(10);
cout<<"push(50): ";
s1.push(50);
}
15.07초 걸렸다는건 어베스트가 확인해본다면서 잡아둬서 그런거
push(50)하면
들어옴
0칸에 50 추가됨
이렇게 출력해야되는데
들어옴 하고 이상한값 리턴해버리고 끝남
if에 문제가 있나 해서 if 빼고 해봐도 안됨
이거 어케해야되냐
now 초기화좀 합시다
했네 ㅈㅅ
배열크기 - dc App
생성자 잘보셈
아 int* arr 해놓고 생성자에서 또 int* arr =new...해서 그렇구나 ㄳ