Да се създаде
клас String (за работа с низове)
със следните свойства:
свойство |
методи на класа |
специфични изисквания |
Автоматично
създаване, копиране и разрушаване на обекти |
String(char * p=””); String(const String &); ~String(); |
Конструкторите
и деструкторът да извеждат на отделен
ред на стандартния изход съответно create, copy или destruct; конструирания (разрушавания) низ заграден в
кавички; собственото име и факултетния номер на студента направил програмата. Максималният брой
символи в низа не е известен предварително. |
Присвояване на
два обекта |
String operator = (const String&); |
Ако str1,str2 и str3 са обекти от клас String то str1=str2=str3; да се изпълнява
както при примитивните типове. |
Проверка на
броя на символите в обекта |
int len() ; |
|
Достъп до
символ чрез позицията му в обекта |
char operator
[ ] (int); |
Ако позицията е
извън низа, да се изведе на
отделен ред на стандартния изход съобщение съдържащо: out of range; низа заграден в кавички; и номера на позицията. |
|
методи приятели |
|
Конкатенация
(свързване) на два низа от класа |
String
operator +(const String&, const
String &); |
Да се получава
нов обект, като обектите участващи в операцията запазват стойността си. |
Извеждане на
низ на потоков изход |
ostream& operator << (ostream&, const String&); |
Да е възможно
изпълнението на String a,b; cout << a <<b; |
Въвеждане на
низ от потоков вход |
istream& operator >> (istream&, String&); |
Да е възможно
изпълнението на String a,b; cin >> a >> b; |
Проектът да бъде
представен в писмен вид и като source на CD и да включва само зададените методи. Неизпълнението на специфичните
изисквания, наличието на допълнителни методи и свойства или промяна в прототипа
на някой метод се счита за неизпълнение на проекта. При защитата на проекта (времетраене
45 минути) студентът получава задание и писмено извършва:
1)допълване с нов
или промяна на съществуващ метод
2) описване на
получения резултат от зададена функция, която използва класа.
Студентите
избрали този тип проект не полагат входящ тест. Максималната оценка, която може
да се получи е добър (4).