Практикум по объектно-ориентированному программированию на базе языка с++ Учебно-методическое пособие


Задание: Реализовать класс String согласно файлу string.h, представлен- ному ниже



Pdf көрінісі
бет19/44
Дата21.02.2024
өлшемі0.49 Mb.
#492719
түріПрактикум
1   ...   15   16   17   18   19   20   21   22   ...   44
ООП С

ЗаданиеРеализовать класс String согласно файлу string.h, представлен-
ному ниже: 
// string.h 
class String 

private: 
int len; // длина строки 
char *p; // указатель на строку 
 
 


35 
pubic 
String(); // Конструктор по умолчанию 
String( const char *str); // Конструктор с параметрами, str – строка 
String(int n); // Конструктор с параметрами, 
// n – длина строки 
String(const String & str) // Конструктор копирования 
~String(); // Деструктор 
 
// методы доступа 
const char * get_str() const; 
void get_str( const char *str) const; 
int get_len() const;
 
// функции-операторы над объектами типа String 
String operator+( const String &) const; 
String & operator=( const String &); 
String & operator+=( const String &); 
 
Char & operator[](int); 
 
int operator==(const String &) const; 
int operator!=(const String &) const; 
int operator>(const String &) const; 
int operator>=(const String &) const; 
int operator<=(const String &) const; 
// дружественные функции 
friend ostream & operator<<(ostream &, const String &); 
friend istream & operator>>(istream &, String &); 
}; 
 
Контрольные вопросы 
 
1. Что такое конструктор копирования? Назовите случаи, когда исполь-
зование такого конструктора обязательно. 
2. Какова основная форма конструктора копирования и когда он вызы-
вается? 
3. Какие сложности возникают при работе с динамическими объектами? 
4. Что такое список инициализации конструктора? 


Достарыңызбен бөлісу:
1   ...   15   16   17   18   19   20   21   22   ...   44




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет