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

Перегрузка операторов умножения и присваивания для строк. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подсчитать колличество слов начинающихся с первой буквы первого слова http://www.cyberforum.ru/cpp-beginners/thread109897.html
Дана строка ,которая водится с клавиатуры. Подсчитать колличество слов начинающихся с первой буквы первого слова #include "stdafx.h" #include "conio.h" //для функции getch() #include "cmath" //для функции sqrt(),exp,sin() #include "iostream" using namespace std;
C++ Builder Калькулятор в C++ Builder 6 Скопировал на комп прогу, созданную на C++ Builder 6 (форма выглядит как калькулятор с тригонометр. функциями). Пожалуйста объясните как работают операторы (до тригон. функций) и почему после извлечения тригон. функции с полученным результатом не выполняются обычные действия. Текст программы: //--------------------------------------------------------------------------- #include <vcl.h>... http://www.cyberforum.ru/cpp-beginners/thread109887.html
C++ unit-тестирование функции
Заполнить массив n´m нулями и единицами «цепочкой квадратов». Размер квадрата задается. Тест: K = 4 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0
C++ Задать массив вещественных чисел и вставить в исходный массив число
вот такая программка Задать массив вещественных чисел с помощью датчика случайных чисел. Вставить в исходный массив число. С клавиатуры ввести само число и номер элемента, после которого проводится вставка. На экран вывести как исходный, так и результирующий массивы. На печать числа выводить с тремя знаками после запятой. заранее спасибо.
C++ [C++] Купюры http://www.cyberforum.ru/cpp-beginners/thread109874.html
Вариант 13. 1.Покупатель должен заплатить в кассу S р.У него имеются 1, 5, ,10, 50, 100, 500, 1000 и 10000р.Сколько купюр разного достоинства отдаст покупатель, если он начинает платить с самых крупных купюр? Реализация на с++
C++ Определить стоимость приобретенных клиентом путевок, если известна цена одной путевки и количество приобретенных путевок Туристическая фирма предлагает снижение цен при покупке нескольких одинаковых путевок. Так, при покупке 4 путевок - скидка составляет 10% их общей стоимости, при покупке от 5 до 10 путевок - скидка составляет 15%, при покупке более 10 путевок - скидка составляет 20% их общей стоимости.Определить стоимость приобретенных клиентом путевок, если известна цена одной путевки и количество приобретенных... подробнее

Показать сообщение отдельно
yorick
0 / 0 / 0
Регистрация: 28.03.2010
Сообщений: 9
28.03.2010, 20:45     Перегрузка операторов умножения и присваивания для строк.
Помогите, пожалуйста, реализовать перегрузку операторов умножения и присваивания для такого задания со строками:
"Описать класс, 3 объекта используя разные конструкторы; увеличить в 2 раза объект #3 удвоением каждого символа; сложить объекты #2 и #3 и результат присвоить объекту #1.
Вот код, который пока что написал:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//main.cpp
#include "stdafx.h"
#include "row.h"
#include <iostream>
#include <string>
 
void main()
{
    Row* obj2 = new Row();
    Row* obj3 = new Row("brrrrr");
    Row* obj1 = obj2 + obj3;
    //Row.Output();
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//row.h
#include "stdafx.h"
#include <string>
#pragma once
using namespace std;
 
class Row
{
    private:
        char *data;
        
    public:
        Row();
        Row(char* v);
        Row(const Row &);
        int Dimension(int _res);
        void Output();
        
        Row* operator*(const Row& c);
        char* operator+(char* tmp);
        //Row operator=();
};
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
//cpp.cpp
#include "stdafx.h"
#include "row.h"
#include <iostream>
#include <string>
using namespace std;
const int n = 10;
 
Row::Row()
{
    data = NULL;
}
 
Row::Row(char* v)
{
    strcpy(data,v);
}
 
/*Row::Row(const Row &copy)
{
    data = copy.data;
}*/
 
/*Row* Row::operator*(const Row &c)
{   
    Row *tmp(*this);       //здесь я похоже написал полную чушь, не обращайте внимания.
    tmp.data *= c.data;   //
    return tmp;               //
}*/
 
char* Row::operator+(char* tmp)
{
    return(strcat(data,tmp));
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru