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

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

Восстановить пароль Регистрация
 
Мария1501
0 / 0 / 0
Регистрация: 26.11.2013
Сообщений: 29
11.12.2013, 02:06     Организовать арифметику класса знает кто как? #1
Как это сделать поможет кто-нибудь?
Организовать арифметику класса ( сложение вычитание и сравнение) в виде именованных функций, сохраняющих результат в объекте «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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2013, 02:06     Организовать арифметику класса знает кто как?
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 13:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru