-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathGood.cpp
More file actions
108 lines (82 loc) · 1.69 KB
/
Good.cpp
File metadata and controls
108 lines (82 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include "Good.h"
#include "SalesTax.h"
Good::Good(){}
Good::Good(SalesTax* salesTax):salesTax(salesTax), price(0), priceTaxed(0), totalTax(0){}
Good::~Good(){}
void Good::CalculatePriceTaxed()
{
priceTaxed = num * (price + totalTax);
}
void Good::CalculateTotalTax()
{
totalTax = num * salesTax->CalculateSalesTax(price, 0, 0);
}
string Good::GetTitle()
{
return title;
}
void Good::SetNum(double aNum)
{
num = aNum;
}
double Good::GetNum()
{
return num;
}
void Good::SetTitle(string aTitle)
{
title = aTitle;
}
void Good::SetPrice(double aprice)
{
price = aprice;
}
double Good::GetPrice()
{
return price;
}
double Good::GetPriceTaxed()
{
return priceTaxed;
}
double Good::GetTax()
{
return totalTax;
}
/**
* ImportedGood
*/
ImportedGood::ImportedGood(){}
ImportedGood::ImportedGood(SalesTax* aSalesTax, double aImportDuty):Good(aSalesTax)
{
importDuty = aImportDuty;
}
ImportedGood::~ImportedGood(){}
void ImportedGood::CalculateTotalTax()
{
totalTax = num * salesTax->CalculateSalesTax(price, 0, importDuty);
}
/**
* NonFoodBookMedialGood
*/
NonFoodBookMedicalGood::NonFoodBookMedicalGood(){}
NonFoodBookMedicalGood::NonFoodBookMedicalGood(SalesTax* aSalesTax, double aRate):Good(aSalesTax)
{
rate = aRate;
}
NonFoodBookMedicalGood::~NonFoodBookMedicalGood(){}
void NonFoodBookMedicalGood::CalculateTotalTax()
{
totalTax = num * salesTax->CalculateSalesTax(price, rate, 0);
}
NormalGood::NormalGood() {}
NormalGood::NormalGood(SalesTax* aSalesTax, double aRate, double aImportDuty):Good(aSalesTax)
{
rate = aRate;
importDuty = aImportDuty;
}
NormalGood::~NormalGood() {}
void NormalGood::CalculateTotalTax()
{
totalTax = num * salesTax->CalculateSalesTax(price, rate, importDuty);
}