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貌似是傳遞的是對象的位址,但不知為何?