Хелпикс

Главная

Контакты

Случайная статья





Лабораторная работа 21



Лабораторная работа 21

Использование конструкторов и деструкторов класса

Задание:

- создать СВОЙ класс, имя которого ваша фамилия, назначение класса – ПРОДУМАТЬ САМОСТОЯТЕЛЬНО

 

 

1. Как пример можно использовать класс, определенный на прошлых занятиях.

2. Можно создать один файл или проект с тремя файлами.

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

 

Пример:

 

// Листинг  Программы stocks.cpp

#include <iostream>

using namespace std;

#include <cstdlib> //или stdlib.h для exit()

#include <cstring> //или string.h для strncpy()

class Stock // объявление класса

{

private:

char company[30];

int shares;

double share_val;

double total_val;

void set_tot()

{ total_val = shares * share_val; }

 

public:

Stock ();

~Stock ();

Stock (const char * со, int n, double pr);

void buy(int num, double price);

void sell(int num, double price);

void update(double price);

void show();

};

 

Stock::Stock()

{

strcpy(company, “NO NAME”);  

shares = 0 ;

share_val = 0.0;

total_vall=0.0;

}

 

Stock::~ Stock()

 {

cout<<"DESTRUKTOR\n\n";                   

}

 

Stock::Stock(const char * со,int n, double pr)

{

strncpy(company, со, 29); //при необходимости выполняется усечение

                       //строки со

company[29] = '\0';

shares = n ;

share_val = pr;

set_tot() ;

}

 

 

void Stock::buy(int nun, double price)

{

shares += num;

share_val = price;

set_tot() ;

}

 

 

void Stock::sell(int num, double price)

{

if (num > shares)

{

cerr « “You can’t sell more then you have !\n";

exit(l) ;

}

shares -= num;

share_val = price;

set_tot() ;

 }

 

 

void Stock::update(double price)

{

share_val = price;

set_tot();

}

void Stock:: show()

{

cout « "Company:" « company « "Shares:" « shares

  « '\n' « "Share Price: $" « share_val

  « "Total Worth: $" « total_val « '\n';

}

 

 

int main ()

{

  Stock Vlad = Stock("SIMENS",39,16);

  Vlad.show();

 Vlad.buy(3,16);

  Vlad.show();

  Vlad.sell(7,18);

  Vlad.show();

      

  Stock Misha = Stock("SIMENS",39,16);

  Misha.show();

 

        cin.get();

        cin.get();

         return 0;

}

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.