пятница, 26 апреля 2013 г.

Объектно-ориентированное программирование в С++


Объект - сущность - класс

class pet
{
public:
string name;
int weight;
bool is_hungry;

void sleep();// <------ прототип функции
void eat();
string say(string);
int get_age();
void set_age(int);
pet(); // <---- прототип конструктора класса
~pet(); // <--- прототип декструктора класса
    private:
        int age;
};

pet::pet() //реализация конструктора
{
    cout << "Create pet" << endl;
    name = "";
    age = 1;
    is_hungry = false;
    weight = 1;
}

pet::~pet() // реализация деструктора
{
    cout << "Destruct pet" << endl;
}

void pet::sleep() //реализация метода sleep()
{
cout << "Good night!" << endl;
}

void pet::eat()
{
if(is_hungry){
cout << "I want chocolate" << endl;
}
else {
cout << "I'm not hungry" << endl;
}
}

string pet::say(string aWord)
{
return "I say: " + aWord;
}
int pet::get_age()
{
    return age;
}

void pet::set_age(int cur_age)
{
    if(cur_age<0 || cur_age>100)
    {
        age = 0;
    }
    else
    {
        age = cur_age;
    }
}

int main ()
{
  pet my_pet;
  my_pet.name = "kesha";
  my_pet.is_hungry = true;

  my_pet.eat();
  int n;
  cin >> n;
  my_pet.set_age(n);
  cout << my_pet.get_age();
  return 0;
}

Комментариев нет:

Отправить комментарий