Добавил:
darya13199
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:наследование пример1
.txt#include <iostream>
class Counter
{
protected: //NOTE: not private
unsigned int count; //count
public:
Counter() : count(0) //constructor, no args
{ }
Counter(int c) : count(c) //constructor, one arg
{ }
unsigned int get_count() const //return count
{ return count; }
Counter operator ++ () //incr count (prefix)
{ return Counter(++count); }
};
////////////////////////////////////////////////////////////////
class CountDn : public Counter
{
public:
CountDn() : Counter() //constructor, no args
{ }
CountDn(int c) : Counter(c) //constructor, 1 arg
{ }
CountDn operator -- () //decr count (prefix)
{ return CountDn(--count); }
};
////////////////////////////////////////////////////////////////
class CountP : public CountDn
{
public:
CountP() : CountDn()
{}
CountP(int c) : CountDn(c)
{}
CountP operator ++ (int)
{ return CountP(count++); }
CountP operator -- (int)
{ return CountP(count--); }
};
int main()
{
CountP count(5);
std::cout << count.get_count() << '\n';
count++;
std::cout << count.get_count() << '\n';
getchar();
getchar();
}
Соседние файлы в предмете Объектно ориентированное программирование