Форум программистов, компьютерный форум CyberForum.ru

Список объектов определяемого класса MyObj - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Для чего нужен символ \b? http://www.cyberforum.ru/cpp-beginners/thread64016.html
для чего нужен символ \b??
C++ Блок-схемы помогите начертить блок-схемы 1.поменять элементы массива Y, таким образом чтобы они располагались в обратном порядке 2.Вычислить суммы элементов каждой строки матрицы А, определить наименьшее значение этих сумм и номер соответствующей строки 3.Описать функцию определяющую среднее арифметические элементов целочисленного массива 4.Посчитать количество строк в файле 1.#include <vcl.h>... http://www.cyberforum.ru/cpp-beginners/thread64009.html
C++ Компиляция в linux
Вот захотел С++ изучит написал стандартную первую программу (Hello World) и стал компилировать в терминале: root@alchi-desktop:/home/alchi# gcc 1.cpp А мне пишет: gcc: error trying to exec 'cc1plus': execvp: No such file or directory Почему так gcc установлен. И есть ли какой другой компилятор под linux?
В одномерном массиве, состоящем из n целых элементов вычислить: C++
В одномерном массиве, состоящем из n целых элементов вычислить: 1) произведение элементов массива с четными номерами; 2) сумму элементов массива, расположенных между первым и последним нулевыми элементами. Преобразовать массив таким образом, чтобы сначала располагаись все положительные элементы, а потом-все отлицательные (элементы, равные 0, считать положитеьными).
C++ Возбуждение исключительной ситуации http://www.cyberforum.ru/cpp-beginners/thread63997.html
Помогите плз сгенерировать исключение. Требуется создать функцию, которая заполняет массив и возвращает true если это сделать удается, false в обратном случае. bool FillArray(int ArraySize, int* Array) { if (ArraySize == 0 || Array == NULL) return FALSE; try { for (int i = 0, i < ArraySize, i++) Array = i; //Здесь, насколько я понимаю, должен быть код, ...
C++ Сложить три числа, если они отличаются не больше чем на 2 Есть к примеру 3 числа, A, B, C. Если эти числа отличаются не больше чем на 2, то сложить их. Как бы сделать проверку? подробнее

Показать сообщение отдельно
RetiF
 Аватар для RetiF
8 / 8 / 1
Регистрация: 21.12.2008
Сообщений: 36

Список объектов определяемого класса MyObj - C++

15.11.2009, 15:34. Просмотров 465. Ответов 0
Метки (Все метки)

Нужно создать список объектов (класс List) определяемого мной класса MyObj (тип строка), наследуемого от Object. И потом творить с ним всякие вещи, например вывод на экран
Для просто символов я сделал:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <list.h>
#include <conio.h>
#include <iostream.h>
 
class MyObj : public Object
{
public:
    char Data;
MyObj(char st){this->Data=st;}
MyObj(MyObj& m) {this->Data=m.Data;}
MyObj(istream& o){o >> this->Data;}
void printOn(ostream& o) const
{
 o << this->Data;
}
char _FAR *nameOf() const
{
 return "Char";
    }
classType isA() const
{
 return 1;
}
hashValueType hashValue() const
{
 return 0;
}
 
    int isEqual( const Object _FAR & m) const
{
 return ((MyObj&)m).Data==Data;
    }
  
 
};
 
void main()
{
 
List A, B;
int c;
 
cout << "Input list A:" << endl;
for(c=0; c<3; c++)
{
cout << "A[" << 3-c << "] = ";
A.add(*new MyObj(cin));
}
 
cout << endl << "Printing list A with cicle" << endl;
ListIterator iA(A);
iA.restart();
while(iA)
{
iA.current().printOn(cout);
cout << endl;
iA++;
}
 
getch();
}
Но нужно для строки. Делаю так:

C++
1
2
3
4
...
char* Data;
MyObj(char* st){this->Data=st;}
...
Но при выводе на экран он выдаёт последнюю строку три раза, то есть, я так понял, не происходит итерация. Почему?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru