13 自定義類STOCK

2021-07-29 22:34:21 字數 1930 閱讀 4532

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 函式 解決了子類...