배열을 초기화하고 싶습니다. 컴파일 오류가 없지만 프로그램을 실행하면 첫 번째 cout
이 실행을 멈 춥니 다.개체 배열 초기화
class A {
string first_name ;
string last_name;
int ID;
public:
virtual void print()=0;
};
class B :public A{
string phone_number;
.......
void print(){
........
}
};
class D{
A** a;
int size;
public:
D(){
size = 10;
a = new A *[size];
for(int i = 0 ; i<size ; i++){
a[i] = NULL;
}
}
void Add(){
for(int i = 0 ; i<size ; i++){
A * a2 = a[i];
B * b = dynamic_cast<B*>(a2);
int id;
cout<<"enter the id";
cin>>id
b->set_ID(id);
// i did the same (cout , cin statements) for the first name and last name.
b->set_first_name();
b->last_name();
}
};
이 정확하지 않은 :
여기 내 코드입니까?
"입력 ID"를 인쇄하고 당신이 ID를 입력 한 후에 계속하지 않는다는 것을 의미합니까? –
'a'의 모든 포인터는'a2'를 초기화 할 때 초기화되지 않습니다. – chris
귀하의 / 들여 쓰기 일부 일 사용할 수있는 포맷. –