Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using namespace std;
- class Integer
- {
- int val;
- char *nazwa;
- public:
- Integer(int = 0);
- ~Integer();
- void show();
- friend Integer operator+(const Integer& , const Integer&);
- Integer operator-(const Integer&) const;
- Integer& operator=(const Integer&);
- friend ostream& operator<<(ostream&, const Integer&);
- };
- #include "stdafx.h"
- #include "Integer.h"
- #include <iostream>
- using namespace std;
- Integer::Integer(int val):val(val) {
- nazwa = val > 0 ? new char[val] : nullptr;
- }
- Integer::~Integer() {
- delete[]nazwa;
- nazwa = nullptr;
- }
- void Integer::show() {
- cout << val << endl;
- }
- Integer operator+(const Integer& lewy, const Integer& prawy) {
- return Integer(lewy.val + prawy.val);
- }
- Integer Integer::operator-(const Integer&prawy) const {
- return Integer(val - prawy.val);
- }
- Integer& Integer::operator=(const Integer&prawy) {
- if (this != &prawy) {
- delete[] this->nazwa;
- this->nazwa = prawy.val > 0 ? new char[prawy.val] : nullptr;
- // skopiuj zawartosc z prawy.nazwa do this->nazwa
- this->val = prawy.val;
- }
- return *this;
- }
- ostream& operator<<(ostream&stream, const Integer&prawy) {
- stream << prawy.val;
- return stream;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement