Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- // Note: Implement parts (a), (b) & (c) as per the requirements of QUESTION_1.
- class Mass
- {
- private:
- int m_Tonne;
- int m_Kilo;
- int m_Gram;
- public:
- Mass(double inMass = 0.0){
- m_Tonne = inMass;
- m_Kilo = (inMass - m_Tonne) * 1000;
- m_Gram = ((inMass - m_Tonne) * 1000 - m_Kilo) * 1000;
- }
- Mass operator-(const Mass &a){
- Mass temp;
- temp.m_Gram = m_Gram - a.m_Gram;
- temp.m_Kilo = m_Kilo - a.m_Kilo;
- temp.m_Tonne = m_Tonne - a.m_Tonne;
- if(temp.m_Tonne > 0){
- if(temp.m_Gram < 0){
- temp.m_Gram += 1000;
- temp.m_Kilo--;
- }
- if(temp.m_Kilo < 0){
- temp.m_Kilo += 1000;
- temp.m_Tonne--;
- }
- }
- if(temp.m_Tonne < 0){
- if(temp.m_Gram > 0){
- temp.m_Gram = abs(temp.m_Gram -= 1000);
- temp.m_Kilo++;
- }
- if(temp.m_Kilo > 0){
- temp.m_Kilo = abs(temp.m_Kilo -= 1000);
- temp.m_Tonne++;
- }
- }
- return temp;
- }
- friend ostream &operator<<(ostream &out, const Mass &a){
- out << a.m_Tonne << " t, " << a.m_Kilo << " kg and " << a.m_Gram << " g";
- return out;
- }
- };
- // Driver program (will not compile until you complete parts (a), (b) & (c) of QUESTION 1.
- // DO NOT Modify the main() function.
- int main()
- {
- Mass massOne(6.2004);
- Mass massTwo(4.3659);
- Mass subMass1, subMass2;
- subMass1 = massOne - massTwo;
- subMass2 = massTwo - massOne;
- cout << "Mass 1 = " << massOne << endl;
- cout << "Mass 2 = " << massTwo << endl;
- cout << "Mass 1 - Mass 2 = " << subMass1 << endl;
- cout << "Mass 2 - Mass 1 = " << subMass2 << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment