Это то, что вы программируете на C ++, должно более или менее выглядеть
#include <iostream>
#include <string>
#include <vector>
struct HighscoreEntry {
std::string name;
int score;
std::string date;
HighscoreEntry(const std::string& name,
int score,
const std::string& date)
: name(name), score(score), date(date)
{ }
};
std::vector<HighscoreEntry> high_scores;
std::ostream& operator<<(std::ostream& s, const HighscoreEntry& hs) {
return s << hs.name << " " << hs.score << " " << hs.date << "\n";
}
int main(int argc, const char *argv[]) {
high_scores.push_back(HighscoreEntry("Kyle", 100, "01/03/88"));
std::cout << high_scores[0];
}
Почему?Есть так много причин, по которым SO-ответ не подходит, чтобы содержать их все ... для этого есть книги.Вы должны выбрать хорошую книгу по C ++ и прочитать ее от корки до корки, чтобы выучить C ++.Просто наберите какой-нибудь код в компиляторе в надежде изучить его с помощью логики и экспериментов - это рецепт катастрофы с C ++.
Неважно, насколько вы умны ... вы не можете выучить C ++ таким образом.На самом деле, в каком-то смысле вы умнее и труднее (потому что вы будете пытаться использовать логику для заполнения пробелов, но есть места, в которых C ++ вообще не логичен - в основном по историческим причинам).
C ++ может быть очень хорошим языком, но подходите к нему с неправильной стороны, и это может стать вашим худшим кошмаром (ну ... или вашим кошмаром или худшим кошмаром для пользователей вашего программного обеспечения C ++).