Для присвоения, над которым вы работаете , вы не не хотите объявлять переменные с именами str1, str2 и т. Д. Вам нужен класс TenStrings
чтобы иметь один элемент данных (назовите его strings
), который представляет собой массив из десяти указателей на символы. Этот массив будет инициализирован в вашем конструкторе .
Вы потратили так много времени, задавая вопросы здесь, большая часть которых охватывает один и тот же основной материал. Вам почти наверняка будет лучше отдохнуть от StackOverflow и использовать это свободное время для изучения некоторых из тех руководств, с которыми я только что связан (или любых других, которые могут у вас быть в вашем распоряжении).
РЕДАКТИРОВАТЬ (отвечая на ваш комментарий): Вот пример. Это не решит вашу домашнюю проблему, но должно дать вам несколько советов. Удачи. (Кстати, я не скомпилировал это, но я думаю это компилируется.)
class SimpleExample {
public:
SimpleExample();
SimpleExample& operator += (const SimpleExample&);
friend ostream& operator cout(ostream&, const SimpleExample&);
private:
int myData[5];
}
SimpleExample::SimpleExample()
{
// Initialize a new SimpleExample instance. (Note that myData[i] is
// the exact same thing as this->myData[i] or (*this).myData[i] . )
for (int i = 0; i < 5; i++) {
myData[i] = i;
}
SimpleExample& operator += (const SimpleExample& that)
{
for (int i = 0; i < 5; i++) {
myData[i] += that.myData[i];
}
return *this;
}
ostream& operator << (ostream& os, const SimpleExample& simp)
{
for (int i = 0; i < 5; i++) {
os << that.myData[i] << " ";
}
return os;
}