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

Модификатор const Очередные грабли с++? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ http://www.cyberforum.ru/cpp-beginners/thread370367.html
Привет всем! У меня случилась одна не большая проблема. Дело в том, что мне задали написать программу: Дан одномерный массив MAS. Найти среднее арифметическое данного массива. Я написал её в C++, программа работает но выдает не правильный результат. Вот сама программа. #include<iostream.h> #include<conio.h> main() { int mas,n,i,sum; float sr; cout<<"Vvedite n="<<endl; cin>>n;
C++ Супер простой вопрос есть например printf("%f ",sum); как ограничить количество знаков после запятой в float? забыл и ни где найти не могу http://www.cyberforum.ru/cpp-beginners/thread370366.html
почему не работает прога? C++
#include <iostream> #include <iomanip> using namespace std; void mean (const int, int); void median (const int, int); void mode (const int, int); void bubbleSort (int, int); void printArray(const int, int); int main()
C++ Не запускается в code blocks 8.0
Всем привет, нашел прогу которая видимо рабочая, но не могу проверить так как в code blocks она не компилится. Вот само задание По заданным векторам А и В сформировать вектор С по формуле Cij=ai+bj и найти его минимальный элемент. #include <stdio.h> main() {float s,min,r1,r2, b, a = { 0.1,0.2,0.3,0.4,}, b = { 0.7,0.9,5.3,8.1,}; int i;
C++ Не работает перевод на следущую строку http://www.cyberforum.ru/cpp-beginners/thread370344.html
Пишу вот это textBox1->Text = "какойто текст\nкакойто текст"; А оно лепит это всё в одну строчку
C++ Без стажа не читать!:) Привет! Ситуация такова что, надо сделать программу-тест с изменяющимися вопросами результаты которой можно просмотреть но с разными правами доступа (аля препод может посмотреть как сдано тестирование после ввода ФИО студента). Подскажите какую литературу почитать или если есть исходники то де их взять? Всем заранее спс. подробнее

Показать сообщение отдельно
Bers
Заблокирован
21.10.2011, 21:29  [ТС]     Модификатор const Очередные грабли с++?
Цитата Сообщение от Jupiter Посмотреть сообщение
компилятору не в домёк что эта функция не меняет состояние объекта потому
ааа.... Но он же как то умеет фиксить нарушения контрактов аля int GetValue() const { return 10; }

Значит он умеет определять может ли функция изменить состояние объекта, или нет.

Добавлено через 46 секунд
Цитата Сообщение от gooseim Посмотреть сообщение
Все как раз четко. Откуда компилятор знает, что происходит в CFirst::GetValue(). ИИ не наделен пока.
Если функция нарушит контракт int GetValue() const;
Он же об этом как то узнает

Добавлено через 5 минут
А вот в этом случае что можно сделать? Снимать константность?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class CFirst
{
    int LastError;
    void CheckError() { LastError=1; }
public:
    int GetValue()  
    { 
        CheckError();
        return 10; 
    }
 
};
 
class CSecond
{
public:
    void Do(const CFirst& src) const
    {
        if(10==src.GetValue()) { std::cout<<"YES!\n"; }
    }
};
У меня нет возможности сделать метод int GetValue() const
Потому что CheckError() всегда может изменить состояние объекта.
 
Текущее время: 04:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru