#include <iostream>
#include <Windows.h>
#include <String>
#include <vector>
#include <fstream>
#include <math.h>
#include <ctime>
using std::cout;
using std::cin;
using std::vector;
using std::string;
using std::ofstream;
using std::ifstream;
using std::endl;
using std::stringstream;
using std::cerr;
class Vault {
string fN;
string sN;
public:
Vault(string a) {
getWord(a, this->fN);
getWord(a, this->sN);
}
string getAll() {
return fN + " " + sN;
}
private:
//ну что то типо split на джаве только по другому (не обращайте внимания)
bool getWord(string& line, string& word, char delim1 = ' ', char delim2 = '\n') {
if (line.empty())return false;
while (line[0] == delim1 or line[0] == delim2) {
line.erase(0, 1);
}
if (line.empty())return false;
while (line[line.size() - 1] == delim1 or line[line.size() - 1] == delim2) {
line.pop_back();
}
if (line.empty())return false;
int i = 0; word = "";
for (auto c : line) {
if (c == delim1 or c == delim2)break;
i++;
}
for (int j = 0; j < i; j++) {
word.push_back(line[j]);
}
string newLine;
for (; i < line.size(); i++) {
newLine.push_back(line[i]);
}
line = newLine;
return true;
}
};
int main() {
vector<Vault> arr;
int n; cin >> n;
for (int i = 0; i < n; i++)
{
string a;
std::getline(cin, a);
arr.push_back({ a });
}
for(auto i : arr)
{
cout << i.getAll() << '\n';
}
}
Вопрос в том почему если я хочу создать 4 класса, программа даёт создать только 3 (начиная с индекса 1) а под индексом 0 у меня лежит объект с неопределёнными полями?