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

Поиск:

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


Шустрый
*


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

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



Помогите пожалуста найти ошибку,прога не выводит на экран ничего
Код

template <int MAX_VAL> 
class Counter
{
public:
  Counter(int val = 0) // constructor. default value - 0
  {
    m_val = val > MAX_VAL ? 0 : val;
  }
  ~Counter() {} // destructor

  int operator ++ (int) // postfix operator overloading
  {
    if(++m_val > MAX_VAL) m_val = 0;
    return m_val;
  }

private:
  int m_val;
};

int main()
{
  Counter<100> cnt;
  cnt++;
            
  Counter<100> cnt2(99);
  cnt2++;
  cnt2++;
  cout<<m_val<<"\n"
 

  return 0;
}


--------------------
No Fucking Future
PM MAIL ICQ   Вверх
Romikgy
Дата 20.2.2006, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



Имхо использование класса типа так с шаблоном
Код

template <class T>
class Stack
{
public:
    Stack(int = 10) ; 
    ~Stack() { delete [] stackPtr ; }
    int push(const T&); 
    int pop(T&) ;  
    int isEmpty()const { return top == -1 ; } 
    int isFull() const { return top == size - 1 ; } 
private:
    int size ;  // number of elements on Stack.
    int top ;  
    T* stackPtr ;  
} ;



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

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


Бывалый
*


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

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



попробуй так: cout<<cnt.m_val;
--------------------
Админ- это вождь Apache'й :)
PM MAIL ICQ   Вверх
Coocky
Дата 20.2.2006, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

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



Цитата(papam @ 20.2.2006, 16:05 Найти цитируемый пост)
cout<<m_val<<"\n"

И даже компилятор не ругается smile
Цитата(Doc_d0s @ 20.2.2006, 16:15 Найти цитируемый пост)
попробуй так: cout<<cnt.m_val;

smile


Цитата(papam @ 20.2.2006, 16:05 Найти цитируемый пост)
private:
  int m_val;

smile
Добавлено @ 16:28
1.Ды не можешь иметь доступ к члену класса таким образом
2.Ты НЕ можешь иметь доступ к закрытому члену класса через обьект класса. А только через функцию! smile

Это сообщение отредактировал(а) Coocky - 20.2.2006, 16:29


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
MAKCim
Дата 20.2.2006, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Код

template<int MAX_VAL> class Counter
{
...
public:
    operator int () const {return m_val;}
};

int main()
{
    Counter<100> cnt;
    cnt++;        
    Counter<100> cnt2(99);
    cnt2++;
    cnt2++;
    cout<<m_val<<"\n"
    return 0;
}



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

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


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

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



Ребята, вы что-Паскальщики?? smile
Что вы пишите? smile
Код

private:
  int m_val;
};



Код

cout<<m_val<<"\n";

smile smile smile
Добавлено @ 18:09
Код

#include "stdafx.h"
template <int MAX_VAL> 
class Counter
{
public:
  Counter(int val = 0) // constructor. default value - 0
  {
    m_val = val > MAX_VAL ? 0 : val;
  }
  ~Counter() {} // destructor

  int operator ++ (int) // postfix operator overloading
  {
    if(++m_val > MAX_VAL) m_val = 0;
    return m_val;
  }

private:
  int m_val;
  public:
    int Return()
    {
    return m_val;
    }

};


int _tmain(int argc, _TCHAR* argv[])
{
    Counter<100> cnt;//тут переменная  m_val=0
    cnt++;  //тут переменная  m_val=1     
    Counter<100> cnt2(99);//тут переменная обьекта cnt2 m_val=99
    cnt2++;//тут переменная обьекта cnt2 m_val=100
    cnt2++;т//ут переменная обьекта cnt2 m_val=0
    //cout<<m_val<<"\n";Бред еще тот.....

    printf("%i",cnt.Return());
    printf("%i",cnt2.Return());

    return 0;
}


Это сообщение отредактировал(а) Coocky - 20.2.2006, 18:16


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
MAKCim
Дата 20.2.2006, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата

Ребята, вычто-Паскальщики??

здесь я не понял smile
Цитата

Что вы пишите?
Код

private:
  int m_val;
};
...
cout<<m_val<<"\n";


я этот кусок кода вставил не посмотрев
конечно нужно
Код

cout<<cnt2<<endl;

Цитата

Код

    printf("%i",cnt.Return());
    printf("%i",cnt2.Return());


вообще, не знаю как других, но меня раздражает когда начинают мешать C и C++, зачем использовать C ф-ии в C++ - коде? (мое мнение, ни на кого наезжать не собираюсь smile )

Это сообщение отредактировал(а) MAKCim - 20.2.2006, 18:26


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

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


Шустрый
*


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

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



Компилятор ругается на #include "stdafx.h"

--------------------
No Fucking Future
PM MAIL ICQ   Вверх
Ignat
Дата 20.2.2006, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 3
Всего: 73



Цитата(papam @ 20.2.2006, 20:22 Найти цитируемый пост)
Компилятор ругается на #include "stdafx.h"

А ты его создал? Если разрабатываешь в VS, то этот файл создается при создании проекта.


--------------------
Теперь при чем :P
PM   Вверх
WERITAS
Дата 20.2.2006, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


********
**


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

Репутация: нет
Всего: 5



Цитата
Компилятор ругается на #include "stdafx.h"


О_О... А ты поставил "Use MFC in Shared DLL" во вкладке "General" у свойств? Я так понимаю это Win32Application....или нет? О_о


--------------------
Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак"
PM MAIL   Вверх
Ignat
Дата 20.2.2006, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 3
Всего: 73



Цитата(WERITAS @ 20.2.2006, 21:21 Найти цитируемый пост)
А ты поставил "Use MFC in Shared DLL" во вкладке "General" у свойств? Я так понимаю это Win32Application....или нет?

Да при чем тут MFC у автора, просто Coocky скомпилил пример в студии smile


--------------------
Теперь при чем :P
PM   Вверх
WERITAS
Дата 20.2.2006, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


********
**


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

Репутация: нет
Всего: 5



Ignat,

Ах вот оно что. Я просто ваш пост не увидел, он появился почти что одновременно с моим : )


--------------------
Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак"
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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