📄 stock1.cpp
字号:
//stock1.cpp -- Stock class implementation with constructors,destructor added
#include <iostream>
#include "stock1.h"
// constructors (verbose versions)
Stock::Stock() //default constructor
{
std::cout<<"Default constructor called\n";
strcpy(company,"no name");
shares = 0;
share_val = 0.0;
total_val = 0.0;
}
Stock::Stock(const char * co, int n, double pr)
{
std::cout<<"Constructor using "<<co<<"called\n";
strncpy(company,co,29);
company[29]='\0';
if (n<0)
{
std::cerr<<"Number of shares can't be negative;"
<<company<<"shares set to 0.\n";
shares = 0;
}
else
shares = n;
share_val = pr;
set_tot();
}
//class destructor
Stock::~Stock() //verbose class destructor
{
std::cout<<"Bye,"<<company<<"!\n";
}
//other methods
void Stock::buy(int num,double price)
{
if (num<0)
{
std::cerr<<"Number of shares purchased can't be negative."
<<"Transaction is aborted.\n";
}
else
{
shares +=num;
share_val=price;
set_tot();
}
}
void Stock::sell(int num,double price)
{
using std::cerr;
if(num<0)
{
cerr<<"Number of shares sold can't be negative."
<<"Transaction is aborted.\n";
}
else if (num>shares)
{
cerr<<"You can't sell more than you have!"
<<"Transaction is aborted.\n";
}
else
{
shares -= num;
share_val = price;
set_tot();
}
}
void Stock::update(double price)
{
share_val = price;
set_tot();
}
void Stock::show()
{
using std::cout;
using std::endl;
cout<<"Company:"<<company
<<"Shares:"<<shares<<endl
<<"Share Price:$"<<share_val
<<"Total Worth:$"<<total_val<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -