c++中的多重继承和虚函数
不懂的地方如下:
#include <iostream>
using namespace std;
class base
{
public:
virtual ~base() {};
virtual void func() const
{
cout << "base output!" << endl;
}
};
class derived1 :public base
{
public:
void func() const
{
cout << "derived1 output!" << endl;
}
};
class derived2 :public derived1
{
public:
void func() const
{
cout << "derived2 output!" << endl;
}
};
void test(const base &rBase) //传递的是该对象的地址?
{
rBase.func();
}
void main()
{
base bobj;
derived1 d1obj;
derived2 d2obj;
test(bobj);
test(d1obj);
test(d2obj);
system("pause");
}
结果如下:
不懂的地方主要集中在:
void test(const base &rBase) //传递的是该对象的地址?
{
rBase.func();
}
这个函数。const base & rBase貌似是传递的是对象的地址,但不知为何?