stock.h
#ifndef __stock00_h
#define __stock00_h
#include "string"
class stock //class declaration
;//作用域 為整個類的常量,不能有型別名
static
const
int four=4;// 作用域 為整個類的常量,該常量在靜態儲存空間,在物件還沒建立時就存在
std::string company;
long shares;
double total_val;
double shares_val;
void set_tot(void)//class定義中定義函式,函式缺省內聯
public ://公有資料,外部可以訪問
stock(void);//建構函式 ,防止為初始化的物件報錯,也可以在下面函式中加預設值
stock(const std::string &co,long n,double pr); //自定義建構函式的形參名不要和類的 資料名 一樣
~stock();//析構函式
void acqure(const std::string & co,long n,double pr);
void buy(long num,double price);
void update(double price);
void show(void)const;
void sell(long num,double price);
const stock& topval(const stock& st)const;//括號中const表示函式不修改 被呼叫物件,括號後const表示函式不修改隱式訪問的物件
}; #endif
stock.cpp
#include "stock00.h"
#include
void stock::acqure(const
std::string & co,long n,double pr )
else shares=n;
shares_val = pr;
set_tot();
}void stock::buy(long num,double price)
else
}void stock::update(double price)
void stock::show(void) const
void stock::sell(long num,double price)
else
if(num>shares)
else
}stock::stock(const
std::string &co,long n,double pr) //自定義建構函式的形參名不要和類的 資料名 一樣
else
shares = n;
shares_val=pr;
set_tot();
}stock::stock(void) //自定義了建構函式,但又不想顯示初始化時定義乙個建構函式的過載函式 //建構函式與析構函式都不允許有返回值
stock::~stock(void)
const stock& stock::topval(const stock& st)const
#include
#include "stock00.h"
#include "stock00.cpp"
using
namespace
std;
int main(void)
//物件會在被釋放記憶體時自動呼叫析構函式;
return
0; }
自定義異常類
自定義並捕獲 一 第一種定義方式,繼承exception類 public class myfirstexception extends exception public myfirstexception string msg public myfirstexception string msg,th...
自定義異常類
除了程式裡已經定義好的標準異常類以外,還可以自定義自己的異常類,但通常也和其他標準異常類一樣派生於exception類例如對於乙個 類,如果規定當且僅當任意兩邊長度之和大於第三邊,才能試圖建立乙個三角形或者改變乙個邊長時也不要改變此性質。如果改變了丟擲乙個異常 同時每條邊不能是負數,否則也丟擲異常。...
自定義執行緒類
根據需求定義執行緒類 import threading from time import 建立執行緒類,繼承threading.thread類 初始化func,args,name等引數,這裡testthread類重寫父類threading.thread了 init 方法 super 函式 解決了子類...