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

Возможность для 2**I отрабатывать в виде вызова mypow(2, I) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужно отредактировать код http://www.cyberforum.ru/cpp-beginners/thread835208.html
Прошу помощи,очень нужно сделать сегодня) Смысл задачи: вычисление выражения в постфиксной форме с помощью стека. Сам алгоритм действий должен быть правильным #include <vcl.h> #pragma hdrstop #include <string> #include <stdio.h> #include <stack.h> #pragma argsused
C++ Функция: найти среднеквадратичное значение положительных элементов каждой строки матрицы Дан массив а<8,5> с использованием функции найти среднеквадратичное значение положительных элементов каждой строки массива Добавлено через 10 часов 48 минут Ребята хоть идею дайте? http://www.cyberforum.ru/cpp-beginners/thread835196.html
Функция, которая аннулирует двумерный динамический массив C++
Здравствуйте! Подскажите пожалуйста функцию которая аннулирует двумерный динамический массив. Заранее благодарна.
C++ Функция find
Что значит строчка: if(s.find(str,0) != -1)
C++ В главной функции main () ввести входные данные, и вызвав собственные функции, вычислить значение выражения и вывести результаты. http://www.cyberforum.ru/cpp-beginners/thread835146.html
задание: 1. В главной функции main () ввести входные данные, и вызвав собственные функции, вычислить значение выражения и вывести результаты. Вычислить B = f (x, k, y) +0.8 f2 (x, y, y-k), при k = 0.6, x = 3.8, y = 0.042, если f (x, y, z) = 2y + x +4 z2 Заранее спасибо.
C++ Помочь в написании программы. (С матрицами) Здравствуйте, дорогие форумчане. ----------------------------------- Мне нужна ваша помощь. ----------------------------------- Не могу написать программу. Поможете, пожалуйста, реализовать? ----------------------------------- С меня много плюсов. Задание прикрепил на скрине. Заранее спасибо. подробнее

Показать сообщение отдельно
anmartex
...
1701 / 1194 / 495
Регистрация: 12.02.2013
Сообщений: 1,978
12.04.2013, 05:40     Возможность для 2**I отрабатывать в виде вызова mypow(2, I)
SERUYBKR, define-ом вы себе выстрелили себе в ногу. Посмотрите, вы объявили Index* I, т.е. указатель. А на что указывает ваш указатель? Ещё по поводу вашего метода mypow, вы зачем вторым параметром объект того же класса передаёте?
Я бы сделал так:
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
#include <iostream>
#include <cmath>
 
class Index
{
    protected:
        int _idx;
 
    public:
        Index(int i = 0): _idx(i) { }
 
        double mypow(double val) const
        {
            return powf(val, _idx);
        }
 
        const Index& operator * () const
        {
            return *this;
        }
};
 
double operator* (double val, const Index& idx)
{
    return idx.mypow(val);
}
 
int main()
{
    Index I(10);
 
    std::cout << (2 ** I) << std::endl;
 
    return 0;
}
Результат выполнения на liveworkspace.org
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru