C++中的类

来源:互联网 发布:冯梦龙智囊知微翻译 编辑:程序博客网 时间:2024/06/17 22:20
// stock00.h -- Stock class interface// version 00#ifndef STOCK00_H_#define STOCK00_H_#include <string>  class Stock  // class declaration{private:     std::string company;  //成员函数参数一般写成   m_company   m_share_val       long shares;       double share_val;    double total_val;//shares share_val total_val均为私有数据成员    void set_tot() { total_val = shares * share_val; }//私有成员函数,set_tot为内联函数public://定义公有成员函数    void acquire(const std::string & co, long n, double pr);    void buy(long num, double price);    void sell(long num, double price);    void update(double price);    void show();};    // note semicolon at the end#endif


// stock00.cpp -- implementing the Stock class// version 00#include <iostream>#include "stock00.h"//成员函数void Stock::acquire(const std::string & co, long n, double pr){    company = co;    if (n < 0)    {        std::cout << "Number of shares can't be negative; "                  << company << " shares set to 0.\n";        shares = 0;    }    else        shares = n;    share_val = pr;    set_tot();}void Stock::buy(long num, double price){     if (num < 0)    {        std::cout << "Number of shares purchased can't be negative. "             << "Transaction is aborted.\n";    }    else    {        shares += num;        share_val = price;        set_tot();    }}void Stock::sell(long num, double price){    using std::cout;    if (num < 0)    {        cout << "Number of shares sold can't be negative. "             << "Transaction is aborted.\n";    }    else if (num > shares)    {        cout << "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(){    std::cout << "Company: " << company              << "  Shares: " << shares << '\n'              << "  Share Price: $" << share_val              << "  Total Worth: $" << total_val << '\n';}//在main函数中使用类int main(){Stock fluffy_the_cat;fluffy_the_cat.acquire("NanoSmart", 20, 12.50);fluffy_the_cat.show();fluffy_the_cat.buy(15,18.125);fluffy_the_cat.show();fluffy_the_cat.sell(400, 20.00);fluffy_the_cat.show();return 0;}


0 0
原创粉丝点击