Add an output operator for the BigInt class. bigint.cpp 1 #include 2 #include "bigint.h" using namespace std; 4 // Add your operator here

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

C++

Add an output operator for the BigInt class.
bigint.cpp
#include <iostream>
#include "bigint.h"
using namespace std;
1
2
3
4
5
// Add your operator here
bigint.h
1
#ifndef BIGINT H
2
#define BIGINT H
3
#include <string>
4
class BigInt
{
public:
BigInt();
BigInt(const std::string& digits);
BigInt(long n);
BigInt& operator+=(const BigInt& rhs);
5
7
8
9.
10
11
12
private:
std::string m_digits;
bool is_negative
};
BigInt operator+(const BigInt& lhs, const BigInt& rhs);
13
14
15
= false;
16
17
18
19
#endif
Tester.cpp
1
#include <iostream>
2
#include <climits>
3
#include "bigint.h"
4
using namespace std;
int main()
{
BigInt a("123"), b("456");
cout « a « " + " « b <« ": " « (a + b) « endl;
cout « "Expected: 579" « endl « endl;
cout « a << " + 999: " « (a + 999) « endl;
cout « "Expected: 1122" <« endl « endl;
cout <« LONG MAX << " + " « b « ": " « (LONG MAX + b) << endl;
cout « "Expected: 9223372036854776263" < endl;
}
7
8
9
10
11
12
13
14
15
16
CodeCheck
Reset
Transcribed Image Text:Add an output operator for the BigInt class. bigint.cpp #include <iostream> #include "bigint.h" using namespace std; 1 2 3 4 5 // Add your operator here bigint.h 1 #ifndef BIGINT H 2 #define BIGINT H 3 #include <string> 4 class BigInt { public: BigInt(); BigInt(const std::string& digits); BigInt(long n); BigInt& operator+=(const BigInt& rhs); 5 7 8 9. 10 11 12 private: std::string m_digits; bool is_negative }; BigInt operator+(const BigInt& lhs, const BigInt& rhs); 13 14 15 = false; 16 17 18 19 #endif Tester.cpp 1 #include <iostream> 2 #include <climits> 3 #include "bigint.h" 4 using namespace std; int main() { BigInt a("123"), b("456"); cout « a « " + " « b <« ": " « (a + b) « endl; cout « "Expected: 579" « endl « endl; cout « a << " + 999: " « (a + 999) « endl; cout « "Expected: 1122" <« endl « endl; cout <« LONG MAX << " + " « b « ": " « (LONG MAX + b) << endl; cout « "Expected: 9223372036854776263" < endl; } 7 8 9 10 11 12 13 14 15 16 CodeCheck Reset
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Function Arguments
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education