Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //------- person.h -------
- //Wrote in class on 2/14/19
- //UPDATED VERSION AT: http://bit.ly/222-person-new
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- #include <cstring> //not <string.h>
- using namespace std;
- class Person
- {
- private:
- char *name;
- char *address;
- char *phone;
- public:
- Person();
- ~Person();
- Person(char const *n, char const *a, char const *p);
- void printPerson(Person const &p);
- char const *getName() const;
- char const *getAddress() const;
- char const *getPhone() const;
- Person const &operator=(Person const &p);
- };
- //------- person.cpp -------
- //#include "person.h"
- int main() {
- Person y("John", "Palomar", "7603301782");
- Person z, x, a;
- z.printPerson(y);
- a = x = z = y;
- }
- Person::Person(){}
- Person::Person(char const *n, char const *a, char const *p) {
- name = new char[strlen(n) + 1];
- address = new char[strlen(a) + 1];
- phone = new char[strlen(p) + 1];
- strcpy(name, n);
- strcpy(address, a);
- strcpy(phone, p);
- }
- void Person::printPerson(Person const &p) {
- Person x;
- x = p; //overloaded
- cout << x.getName() << endl;
- cout << x.getAddress() << endl;
- cout << x.getPhone() << endl;
- }
- Person const &Person::operator=(Person const &p) {
- if (this != &p) {
- delete[]name;
- delete[]phone;
- delete[]address;
- name = new char[strlen(p.getName()) + 1];
- address = new char[strlen(p.getAddress()) + 1];
- phone = new char[strlen(p.getPhone()) + 1];
- }
- return *this;
- }
- char const *Person::getName() const {return name;}
- char const *Person::getAddress() const {return address;}
- char const *Person::getPhone() const {return phone;}
- Person::~Person() {
- delete[]name;
- delete[]address;
- delete[]phone;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement