Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868

Что-то код выдаёт не так

07.10.2009, 16:24. Показов 3201. Ответов 29

Студворк — интернет-сервис помощи студентам
Что-то код выдает неправильно, хотя он и компилится:
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
#include <iostream>
using namespace std;
 
class Vechicle{
    int passengers;
    int fuelcap;
    int mpg;
public:
    Vechicle():passengers(),fuelcap(),mpg() { }
    Vechicle(int p, int f, int m) { }   
    
 
    int  range()
    {
        return mpg * fuelcap;
    }
    int get_passengers() {return passengers;}
    int get_fuelcap()    {return fuelcap;}
    int get_mpg()        {return mpg;}
};
 
int main()
{
    Vechicle minivan(7,16,21);
    Vechicle sportscar(2,14,12);
 
    int range1,range2;
    range1 = minivan.range();
    range2 = sportscar.range();
 
    setlocale(0,"");
    cout<<"Манифургон может перевезти "
        <<minivan.get_passengers()
        <<" пассажиров на расстояние "<<range1
        <<" киллометров. "<<'\n';
 
    cout<<"Спортивный автомобиль  может перевезти "
    <<minivan.get_passengers()
    <<" пассажира на расстояние "<<range2
    <<" киллометров"<<'\n';
 
    cin.get();
}
Добавлено через 13 минут
Всё, понял,нужно было вот так:
C++
1
    Vechicle(int p, int f, int m):passengers(p), fuelcap(f), mpg(m) { }

Вы не объясните зачем нужно вот это:

C++
1
2
3
 int get_passengers() {return passengers;}
        int get_fuelcap()    {return fuelcap;}
        int get_mpg()        {return mpg;}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.10.2009, 16:24
Ответы с готовыми решениями:

При решении программа выдаёт значение функции, равное 0 или выдаёт ошибку. Что не так?
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; using namespace std; long Fact(short m)// функция вычисления факториала ...

Выдаёт ошибку, пишет что слишком мало аргументов в функции Per, что не так, подскажите
#include &lt;iostream&gt; #include &lt;stdio.h&gt; using namespace std; int St (int x) { if (x==0) return 1; return St(x-1)*10;...

После удаления компонента ComboBox выдает сообщение, что с ним что-то не так, хотя его нигде в этом файле нет
Unresolved external '__fastcall TForm_Vse::ComboBox_DolgnostChange(System::TObject *)' referenced from D:\U1.OBJ После удаления...

29
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
08.10.2009, 16:47
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Syltan Посмотреть сообщение
1)
Code
1
2
Код - это функции-члены класса, в которых описан код.
Данные - это переменные, описанные в самом классе, а не в функциях.
Это определение верно?
значение слова "код" зависит от контекста. данные не обязательно описаны в классе. они могут быть где-то вообще снаружи.

Цитата Сообщение от Syltan Посмотреть сообщение
2) Инкапсуляция - скрытие всех, полей, которые использовались для создания этого объекта?
близко, но я бы лучше сказал, что инкапсуляция - это разделение внешнего интерфейса и внутренней реализации. полей может в принципе вообще не быть.
0
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
08.10.2009, 17:02  [ТС]
А этот вариант?

Инкапсуляция - это объединение данных и кода в объект, и скрытие от пользователя, того, как я реализовывал этот объект, когда он будет взаимодействовать с этим объектом ,через интерфейс, который я создам,через свойства этого объекта.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
08.10.2009, 18:23
Цитата Сообщение от Syltan Посмотреть сообщение
Инкапсуляция - это объединение данных и кода в объект, и скрытие от пользователя, того, как я реализовывал этот объект, когда он будет взаимодействовать с этим объектом ,через интерфейс, который я создам,через свойства этого объекта.
А теперь перепиши это определение не используя слова "данные", "код" и "объект"
0
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
08.10.2009, 18:56  [ТС]
Инкапсуляция - это скрытие от пользователя полей класса.
Без этих слов не получается.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
08.10.2009, 19:01
Syltan, тогда перестань угадывать и попробуй понять смысл того, что такое инкапсуляция. Просто знание формулировки определения ровным счетом ничего не дает
0
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
08.10.2009, 19:10  [ТС]
Code
1
А теперь перепиши это определение не используя слова "данные", "код" и "объект"
Интересно,а как же можно переписать без использования этих слов.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
08.10.2009, 19:28
Сокрытие внутренней реализации класса(полей, методов) с возможностью доступа к ним только с помощью открытых методов
0
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
08.10.2009, 19:44  [ТС]
Code
1
с возможностью доступа к ним только с помощью открытых методов
Членов класса?
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
08.10.2009, 19:59
Я в скобках сказал к кому . Ну можно и так
Цитата Сообщение от Syltan Посмотреть сообщение
Членов класса
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
09.10.2009, 03:50
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Vechicle{
        int passengers;
        int fuelcap;
        int mpg;
public:
        Vechicle():passengers(),fuelcap(),mpg() { }
        Vechicle(int p, int f, int m) { }       
        
 
        int  range()
        {
                return mpg * fuelcap;
        }
        int get_passengers() {return passengers;}
        int get_fuelcap()    {return fuelcap;}
        int get_mpg()        {return mpg;}
};
ты когда программу запустишь, объект, который принадлежит классу Vechicle создастся в памяти в виде капсулы

C++
1
2
3
        int passengers;
        int fuelcap;
        int mpg;
сюда могут помещаться данные в виде чисел, число пассажиров, число горючего, число mpg

но, если что-то захочет видоизменить эти числа, оно не сможет это сделать, потому что капсула доступна только тем методам, которые описаны в том же самом классе

C++
1
2
3
        int  range() {
            return mpg * fuelcap;
        }
метод описан в том же классе, значит может читать переменные и менять переменные, что он и делает, только читая их

C++
1
    Vechicle cars[3];
создал три машины, у каждой инкапсулированы три переменные, переменные одной машины защищены от действий с переменными другой машины
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.10.2009, 03:50

Выдает ошибку. что не так?
Hello! Решаю задачу с книги &quot;Компьютерное моделирование физических процессов в пакете Matlab&quot; Поршнев. Задача о моделировании...

что не так в программе, выдает ошибку...
помогите разобраться, пожалуйста, что не так?

Что не так, почему ошибку выдает?
namespace ConsoleApp31 { class Program { static void Main(string args) { int i = 1; ...

Программа выдает ошибки, что не так?
1 форма Option Explicit Dim H As String Dim W As String Dim L As Integer Dim j As Integer Dim E As Integer Dim nom As...

Что я не так делаю? Выдает ошибку
Делаю проект с модулем. Все сделал, а ошибку выдает. unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics,...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru