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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Мария1501
0 / 0 / 0
Регистрация: 26.11.2013
Сообщений: 29
#1

Организовать арифметику класса знает кто как? - C++

11.12.2013, 02:06. Просмотров 201. Ответов 0
Метки нет (Все метки)

Как это сделать поможет кто-нибудь?
Организовать арифметику класса ( сложение вычитание и сравнение) в виде именованных функций, сохраняющих результат в объекте «this».

Дополнить класс следующими методами:
- перегрузить операции: ввода-вывода, сложение, вычитание, отношения (<, >, <=, >=, ==, !=) , индексации (с проверкой выхода за границу индексов);
- разработать конструктор копий и перегрузить операцию присваивания для осуществления неповерхностного копирования

Дополнить класс виртуальными функциями.

Дополнить класс производным классом.

Разработать шаблон класса для работы со строкам.
Тип информационного поля элемента списка соответствует типовому параметру шаблона.
Должны быть предусмотрены методы:
1. Конструкторы
a. По умолчанию
b. По значению информационного поля
c. Копий
2. Добавить
3. Найти
4. Удалить
5. Деструктор
6. Print
7. добавление с помощью операции сложения
8. операция вывода в поток .

Продемонстрировать работу класса на int, double и строках.


Код
#include <cstdlib>
#include <iostream>
#include <Windows.h>
 
using namespace std;
 
class String
{
private:
    char* str;
    int n; 
public:
    String(char* string = "")
    {
        n = strlen(string);
        str = new char[n + 1];
        strcpy(str, string);
    }
 
    String(char* string, size_t size)  //конструктор, позволяющий создать строку из size символов
    {
        n = size;
        str = new char[n + 1];      
        strncpy(str, string, n);
        if (strlen(string) > size)
             str[n] = '\0';
    }
 
    ~String()
    {
        if (str)
        delete [] str;
    }
 
    void print()
    {
        std::cout << str << endl;
    }
 
    int  getnum()const //кол-во символов в строке
    {
        return n;
    }
 
    char& getchar(int n) // символ из позиции n
    {
          
        return str[n - 1];
        
    }
 
    void upper()  // в верхний регистр
    {
        for (int i = 0; i < n; i++)
            str[i] = toupper((unsigned char)str[i]);
    }
 
    int  punctuation() const // кол-во знаков препинания
    {
        int count = 0;
        for (int i = 0; i < n; i++)
        if (ispunct((unsigned char)str[i]))
            count++;
        return count;
    }
};
 
int main()
{  
    setlocale(0, "");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    char s[255];
    cin.getline(s, 255);
    String str(s);
    
    str.upper();
    str.print();
    str.getchar(1) = 'R';
    
 
    cout << str.getnum() << endl;
    cout << str.punctuation() << endl;
    cout << str.getchar(1) << endl;
 
    system("PAUSE");
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2013, 02:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Организовать арифметику класса знает кто как? (C++):

Организовать арифметику класса ( сложение вычитание и сравнение) в виде именованных функций, сохраняющих результат в объекте «this» - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; class String { private: char*...

Сортировка вектора сложного класса (Просто для тех кто знает) - C++
Есть класс: class Tovar { protected: Date_class expiry; string articul, name, catigory,barcode; double price; public: ...

кто знает как? - C++
1. Написать шаблон функции для нахождения индексов элементов из заданного интервала, посортованих за спадением значений. Потом...

Кто знает как из DEVc++ транслировать в C++? - C++
Есть программа написанная в Dev, которая не работает в Visual C++. Как данную программу перевести в Си? В чем их особенности? Вот сама...

Кто знает, как исправить ошибку? - C++
Написал программу, которая выводит все 6-ти значные числа палиндромы, но она начинает выводить только с 701107. Помогите, пожалуйста,...

Кто знает как исправить ошибку - C++
При выполнении программы возникла следующая ошибка: ptr было nullptr. Что это значит и как ее исправить?Возникает в функции make в цикле...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2013, 02:06
Привет! Вот еще темы с ответами:

Кто знает, как программировать в xcode? - C++
раньше работал на visual studio, недавно перешел на мас и установил xcode. при создании даже самой простой программы... #include...

Кто знает как исправить ошибки? - C++
Надо в указатель записать адрес функции из класса // узел template&lt;typename T&gt; struct T_Node { T m_value; // значение ...

кто знает как в с++ найти размер файла - C++
Мне нужно прочитать полностю файл и загрузить в память. fstream fs; fs.open(&quot;file.txt&quot;); if(fs){ // ...

Кто знает как запустить данный проект? - C++
проблемка с запуском готовых компиляций... и сбором исходников... помогите кто-нибудь разобраться


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru