Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не компилируется код 
:(
    Опции темы
Syltan
Дата 7.10.2009, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 301
Регистрация: 31.8.2009

Репутация: -1
Всего: -2



Попробывал использовать функции поза классами, они не компилятся.

Код

#include <iostream>
using namespace std;
 
class Vechicle{
        int passengers;
        int fuelcap;
        int mpg;
public:
        Vechicle():passengers(0),fuelcap(0),mpg(0) { }
        Vechicle(int p, int f, int m):passengers(p), fuelcap(f), mpg(m) { }     
        
 
        int  range()
        {
                return mpg * fuelcap;
        }
    int get_pessengers();
        int get_fuelcap();
        int get_mpg();
 
        
};
 
int Vechicle::get_pessengers()
{
        return passengers;
}
 
int Vechicle::get_fuelcap()
{
        return fuelcap;
}
 
int Vechicle::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_pessengers
                <<" пассажиров на расстояние "<<range1
                <<" киллометров. "<<'\n';
 
        cout<<"Спортивный автомобиль  может перевезти "
                <<minivan.get_pessengers
        <<" пассажира на расстояние "<<range2
        <<" киллометров"<<'\n';
 
        cin.get();
}

PM MAIL   Вверх
zim22
Дата 7.10.2009, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



первая ошибка здесь

cout<<"Манифургон может перевезти "
                <<minivan.get_pessengers()



--------------------
PM MAIL   Вверх
Syltan
Дата 7.10.2009, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 301
Регистрация: 31.8.2009

Репутация: -1
Всего: -2



Спасибо, упустил.  Скажите, это получается,что доступ к закрытым переменным класса, можно получить только через функции, и без разницы где они описаны, в самом классе, или за классом, правильно я понял?
PM MAIL   Вверх
zim22
Дата 7.10.2009, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(Syltan @  7.10.2009,  16:41 Найти цитируемый пост)
правильно я понял?

да


--------------------
PM MAIL   Вверх
Syltan
Дата 7.10.2009, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 301
Регистрация: 31.8.2009

Репутация: -1
Всего: -2



А функции обязательно должны быть членами этого класса,или это неважно, чтоб получить доступ к закрытым переменным класса?

Это сообщение отредактировал(а) Syltan - 7.10.2009, 16:46
PM MAIL   Вверх
zim22
Дата 7.10.2009, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(Syltan @  7.10.2009,  16:46 Найти цитируемый пост)
А функции обязательно должны быть членами этого класса,

могут быть членами другого класса. или глобальными функциями. но они должы быть друзьями.

Это сообщение отредактировал(а) zim22 - 7.10.2009, 16:47


--------------------
PM MAIL   Вверх
Syltan
Дата 7.10.2009, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 301
Регистрация: 31.8.2009

Репутация: -1
Всего: -2



Код
Инкапсуля́ция — свойство языка программирования, позволяющее объединить данные и код в объект и скрыть реализацию объекта от пользователя.


Хорошо,если возьмём такой код:

Код

class A {
 private:
   int a,b;//скрытые свойства
   void Do_Something(void);//скрытый метод.
 public:
   int Return_Something(void); //открытый    интерфейс
 };


Класс А инкапсулирует свойства a, b и метод Do_Something, представляя внешний интерфейс Return_Something.
1)Скажите, реализацию какого объекта мы скрываем от пользователя?
2)
Код
позволяющее объединить данные и код в объект

Какой объект, экземпляр закрытого класса приват,созданный в главной функции мэин?
PM MAIL   Вверх
zim22
Дата 7.10.2009, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(Syltan @  7.10.2009,  18:13 Найти цитируемый пост)
1)Скажите, реализацию какого объекта мы скрываем от пользователя?

реализацию объекта класса А
Цитата(Syltan @  7.10.2009,  18:13 Найти цитируемый пост)
Какой объект, экземпляр закрытого класса приват,созданный в главной функции мэин?

ничего не понимаю... 
переформулируй другими словами


--------------------
PM MAIL   Вверх
Syltan
Дата 7.10.2009, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 301
Регистрация: 31.8.2009

Репутация: -1
Всего: -2



Код

 позволяющее объединить данные и код в объект и скрыть реализацию объекта от пользователя.



1)Какие данные имеются ввиду из того, небольшого кода выше.
2)Какой объект в моём коде имеется ввиду?


Это сообщение отредактировал(а) Syltan - 7.10.2009, 20:19
PM MAIL   Вверх
zim22
Дата 7.10.2009, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(Syltan @  7.10.2009,  20:17 Найти цитируемый пост)
1)Какие данные имеются ввиду из того, небольшого кода выше.

Цитата(Syltan @  7.10.2009,  18:13 Найти цитируемый пост)
 int a,b;//скрытые свойства


Цитата(Syltan @  7.10.2009,  20:17 Найти цитируемый пост)
2)Какой объект в моём коде имеется ввиду?

объект - это экземпляр класса. значит объект того класса, от которого он инстанциирован.
***
мне кажется вопросы уже пошли не по теме. 
правило такое: один вопрос - одна тема.

Это сообщение отредактировал(а) zim22 - 7.10.2009, 21:15


--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0495 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.