inheritance in c++web.mst.edu/~ricardom/cs1575/19.3/lecturenotes/11... · inheritance in c++...

4
class Dog { int x; public: int y; void bark(); } class Pug : public Dog { public: int z; void snore(); } Dog fido; Pug jeff; Inheritance in C++ Wednesday, October 9, 2019 5:35 PM Data Structures Page 1

Upload: others

Post on 13-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Inheritance in C++web.mst.edu/~ricardom/CS1575/19.3/lectureNotes/11... · Inheritance in C++ Wednesday, October 9, 2019 5:35 PM Data Structures Page 1 . void myFunction( Dog& d )

class Dog{ int x;public: int y; void bark();}

class Pug : public Dog{public: int z; void snore();}

Dog fido;Pug jeff;

Inheritance in C++Wednesday, October 9, 2019 5:35 PM

Data Structures Page 1

Page 2: Inheritance in C++web.mst.edu/~ricardom/CS1575/19.3/lectureNotes/11... · Inheritance in C++ Wednesday, October 9, 2019 5:35 PM Data Structures Page 1 . void myFunction( Dog& d )

void myFunction( Dog& d ){ …}

myFunction( jeff );

Dog *p = &jeff;

Dog larry( jeff );fido = jeff;

jeff = larry;

class Dog{ int x;public: int y; void bark() { cout << "Woof!";}}

class Pug : public Dog{public: int z; void snore(); void bark() { cout << "puff!";}}

Pug tim;tim.bark();

tim.Dog::bark();

Data Structures Page 2

Page 3: Inheritance in C++web.mst.edu/~ricardom/CS1575/19.3/lectureNotes/11... · Inheritance in C++ Wednesday, October 9, 2019 5:35 PM Data Structures Page 1 . void myFunction( Dog& d )

class Dog{protected: int x;public: int y; void bark();}

class Pug : public Dog{public: int z; void snore(){ x = 3; }}

class Alpha{ int x, y; Alpha() : x(0), y(0) {} Alpha(int a, int b) : x(a), y(b) {}}

class Beta : public Alpha{ int z; Beta() : Alpha(1, 1), z(1) {}}

class Gamma : public Beta{ int w; Gamma() : w(0) {}}

Data Structures Page 3

Page 4: Inheritance in C++web.mst.edu/~ricardom/CS1575/19.3/lectureNotes/11... · Inheritance in C++ Wednesday, October 9, 2019 5:35 PM Data Structures Page 1 . void myFunction( Dog& d )

}

class Alpha{ int *p; ~Alpha() { delete [] p;}}

class Beta : public Alpha{ string *z; ~Beta() { delete z }}

class Gamma : public Beta{ char *w; ~Gamma { delete w }}

Data Structures Page 4