stock1.cpp
来自「我学习C++ Primer Plus过程中写下的课后作业的编程代码」· C++ 代码 · 共 87 行
CPP
87 行
//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 + =
减小字号Ctrl + -
显示快捷键?