![]()
|
|||
Лабораторная работа 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; }
|
|||
|