Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.05.2009, 22:01   #1
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
Радость Использование protected

Здравсвуйте программисты! Подскажите пожалуйста , почему, например,если написать так. class ttt { protected: int s1.s2; А потом,если создать дочерний класс class fublicc ttt{ public: s1 = 7; нельзя присвоить 7, хотя вроде дочерний класс, уже унаследовал переменную s1

Последний раз редактировалось prikolist; 11.05.2009 в 22:05.
prikolist вне форума
Старый 11.05.2009, 22:08   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Во-первых, не понял вопроса.
Во-вторых, не понял что вообще есть.
Так, как вы написали, в принципе писать нельзя.

Вот вам пример:
Код:
#include <iostream>
#include <conio.h>
using namespace std;

class ttt {
protected:
 int s1;
};

class f : public ttt
{
 public:
  void fun()
   {
    s1 = 7;
   }
};

int main()
{
f A;
A.fun();

getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 11.05.2009, 22:16   #3
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

Спасибо,просто видимо, переменные описанные в разделе протектед для дочерних классов, описанны должны быть в отдельной функции,тогда можно использовать только переменные из протектеда в дочерних классах.
prikolist вне форума
Старый 11.05.2009, 22:23   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от prikolist
Спасибо,просто видимо, переменные описанные в разделе протектед для дочерних классов, описанны должны быть в отдельной функции,тогда можно использовать только переменные из протектеда в дочерних классах.
Чего? о_О
Переменные класса можно менять только в функции. Нельзя просто написать:
Код:
class F
{
public:
int s=5;
};
Но можно, например, так:
Код:
class F
{
 public:
  static const int s = 5;
};
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 11.05.2009, 22:37   #5
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

А про статик не слышал,интересно. Но,попробывал статиком сделать вот так, но не получается. Странно почему const int
используется,если мы описали уже этот s1 в протектеде.
Код:
class f : public ttt
{
 public:

static const   s1 = 7;
    cout<<static const int s1;
   }
};

int main()
{
f A;
A.fun();
prikolist вне форума
Старый 11.05.2009, 22:42   #6
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

о_О
Смешались в кучу кони, люди... (с)
pu4koff вне форума
Старый 11.05.2009, 22:43   #7
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
static const   s1 = 7;
Тип не указан.
Код:
 cout<<static const int s1;
А здесь его не нужно указывать.
Код:
 }
лишняя скобка.
Неудивительно, что у вас не работает.
Код:
#include <iostream>
#include <conio.h>
using namespace std;

class K
{
 public:
   static const int s = 5;
};

int main()
{
K p;
cout<<p.s;

getch();
return 0;
}
----------
Цитата:
Сообщение от pu4koff
о_О
Смешались в кучу кони, люди... (с)
+1 )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 12.05.2009, 13:31   #8
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

Спасибо за ответы,но для чего же используют static, и зачем прописывать static --------------<<<const int s1------>>>,если я объявил этот s1,в закрытом разделе протектед? Вы не ответили на этот вопрос.
prikolist вне форума
Старый 12.05.2009, 14:03   #9
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
но для чего же используют static, и зачем прописывать static --------------<<<const int s1------>>>,если я объявил этот s1,в закрытом разделе протектед? Вы не ответили на этот вопрос.
Статические члены существуют в единственном экземпляре для данного класса. Вот для этого они и нужны. Только не думаю, что вам сейчас стоит в это вникать. Будьте последовательны. Иначе зайдете в дебри и не выберитесь оттуда.
Видимо, я зря привел пример со static. Я хотел показать совсем другое.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 12.05.2009, 14:15   #10
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

Хорошо,со статиком пока не буду разбираться.
prikolist вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование while и while do prikolist Общие вопросы C/C++ 20 06.04.2009 18:40
Использование фокуса prikolist Общие вопросы C/C++ 1 27.03.2009 22:57
использование RegConnectRegistry joker Win Api 3 18.02.2009 17:00
Protected Викдон Общие вопросы Delphi 5 06.02.2009 22:13
Использование строк (С++) Nattka Общие вопросы C/C++ 15 04.12.2008 21:10