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

Перегрузка оператора * - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Компилятор с поддержкой русского языка http://www.cyberforum.ru/cpp-beginners/thread747323.html
Использую MS Visual с++ 6.0, но он не поддерживает русского языка. Если в коде есть русские буквы - он заменяет их какими то непонятными символами. Подскажите какой другой компилятор выбрать, чтобы русскоязычные слова выводились нормально.
C++ как записать код задачи VS2010 Добрый вечер, я тут новенькая) дана дробь, наметки кода: #include "StdAfx.h" #include <iostream> #include <cmath> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread747322.html
двоичное дерево C++
Здравствуйте. Вот написал дерево через шаблоны: #include <iostream> using namespace std; template <class T> class BinaryTree { protected:
.Написать функцию, которая будет возвращать значение y=ln(x)+x при входящем параметре x. Построить таблицу значений этой функции C++
.Написать функцию, которая будет возвращать значение y=ln(x)+x при входящем параметре x. Построить таблицу значений этой функции. Надо написать функцию в C++
C++ Два треугольника заданы координатами своих вершин. Найти сумму длин вписанных в них окружностей. Вычисления длины окружности, вписанной в треугольник http://www.cyberforum.ru/cpp-beginners/thread747307.html
Два треугольника заданы координатами своих вершин. Найти сумму длин вписанных в них окружностей. Вычисления длины окружности, вписанной в треугольник оформить в виде подпрограммы. Надо написать программу
C++ с 1. Описать структуру с именем TRAIN, которая содержит следующие поля: -NAZV - название пункта назначения; -NUMR - номер поезда; -DATE - дата отправления -TIME - время отправления. Написать программу, отдельными функциями выполняет следующие действия: -ввод с клавиатуры данных в массив RASP, состоящей из N переменных типа TRAIN; -упорядочение записей по алфавиту по названиям пунктов... подробнее

Показать сообщение отдельно
Grinning liar!
3 / 3 / 0
Регистрация: 01.11.2012
Сообщений: 38

Перегрузка оператора * - C++

27.12.2012, 00:32. Просмотров 709. Ответов 10
Метки (Все метки)

Здрасте.
Есть задача: Реализовать класс Matrix размерностью NxN, в которой хранятся числа типа float. Память под элементы выделять динамически. Перегрузить операции *, =. В функции main привести примеры реализации класса Matrix.
Чтобы упростить себе жизнь, перегружаю * только для умножения на число (хотя бы для начала)
Немножко подчитав книжку, перешел к делу. Все, что на данный момент удалось наработать, ниже:

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <conio.h>
 
using namespace std;
 
class Matrix{ 
public:
 
    int size;
 
    float **mas;
    float** create_mas (int);                   //метод создания матрицы
//  void delete_mem ();                         //очистка выделенной памяти
    Matrix const operator* (float x) const;     //перегрузка оператора
};
 
    
void main ()
{
    setlocale (LC_ALL, "Russian");          //подключение локального стандарта
    
//  const float x = 5;                      //тупо число, на которое хотелось бы умножить
    Matrix m1;                              //объявление объекта m1 класса Matrix
    int N;                                  //размер матрицы
 
    cout << "Введите размерность квадратной матрицы" << endl;
    cin >> N;
    
    m1.size = N;
    m1.create_mas(N);                   //создание матрицы и ее вывод на экран
 
    _getch();
 
}
 
 
float** Matrix::create_mas (int size){
 
    float **mas = new float *[size];        //выделяем память на массив указателей начал строк массива
 
    for (int i = 0; i < size; i++)          //выделение памяти на каждую строку массива
        {
            mas[i] = new float [size];
        }
 
        for (int i = 0; i < size; i++)      //заполняем массив числами
            for (int j = 0; j < size; j++)
                cin >> mas[i][j];
 
        for (int i = 0; i < size; i++)      //выводим первоначальный массив на экран
        {
                for (int j = 0; j < size; j++)
                    cout << setw(4) << mas[i][j] << " ";
                cout << endl;
        }
 
        return mas;
}
 
[I]Matrix const Matrix::operator* (float x) const {
 
    for (int i = 0; i < size; i++)      //заполняем массив числами
        for (int j = 0; j < size; j++)
                mas[i][j] = mas[i][j]*5;
    [B]return ;[/B]
 
}[/I]
Вопрос такого рода: при перегрузке оператора, мы, очевидно, должны вернуть объект класса Matrix (эт вроде как по заданию) Что тогда следует возвращать в функции перегрузки?

Добавлено через 2 часа 11 минут
Ой, ошибся форумом. Администратор, перенесите пожалуйста в раздел С++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru