Можно ли использовать оператор извлечения для динамически размещаемого объекта? - PullRequest
0 голосов
/ 04 июля 2019

Я пытался использовать перегруженный оператор извлечения для заполнения строковой переменной моего динамически размещенного объекта, в который строковый класс выбрасывает обработчик исключений 0x4.

#include <string>
#include <fstream>
#include <iostream>
using namespace std;

class Myclass{
 friend istream& operator << (istream& ,Myclass&);

 protected:
  string anewname;
};

// default constructor
Myclass::Myclass(void) {}

istream& operator >> (istream& stream, Myclass& obj) {
    cout << "Enter name: " << endl;
    stream >> obj.anewname;
    return stream;
}

 //main.cpp
// global variable
Myclass* new_ptr[2];

 int main(){
 int j=0;
 cin>>*new_ptr[j]; // error occurs here
return 0;
}

Строковый класс библиотеки выбрасываетобработка ошибок исключений 0x4, которая, как я подозреваю, говорит о наличии нулевого указателя.Но я пытаюсь записать объект.

...