How to pass arguments to base class in C++

1 Answer

0 votes
#include <iostream>

using std::cout;
using std::endl;

class Base {
	int n;
public:
	Base(int _n) {
		cout << "class Base constructor" << endl;
		n = _n;
	}
	~Base() {
		cout << "class Base destructor" << endl;
	}
	void print_base() {
		cout << "class Base: " << n << endl;
	}
};

class Derived : public Base {
	int m;
public:
	Derived(int _m, int _n) : Base(_n) {
		cout << "class Derived constructor" << endl;
		m = _m;
	}
	~Derived() {
		cout << "class Derived destructor" << endl;
	}
	void print_derived() {

		cout << "class Derived: " << m << endl;
	}
};

int main()
{
	Derived o(12, 99);

	o.print_base();
	o.print_derived();

	return 0;
}

/*
run:

class Base constructor
class Derived constructor
class Base: 99
class Derived: 12
class Derived destructor
class Base destructor

*/

 



answered Mar 18, 2018 by avibootz

Related questions

1 answer 169 views
169 views asked Feb 6, 2018 by avibootz
1 answer 222 views
1 answer 173 views
1 answer 185 views
...