Tag: 对象切片

指针和参考参数之间的区别?

这些是一样的: int foo(bar* p) { return p->someInt(); } 和 int foo(bar& r) { return r.someInt(); } 忽略空指针的潜力。 无论someInt()是虚拟的还是通过一个bar或bar的子类,这两个函数在function上是否相同? 这是否切片什么: bar& ref = *ptr_to_bar;

将派生类对象存储在基类variables中

我想将几个类的实例存储在一个向量中。 由于所有的类都从同一个基类inheritance,所以这应该是可能的。 想象一下这个程序: #include <iostream> #include <vector> using namespace std; class Base { public: virtual void identify () { cout << "BASE" << endl; } }; class Derived: public Base { public: virtual void identify () { cout << "DERIVED" << endl; } }; int main () { Derived derived; vector<Base> vect; vect.push_back(derived); vect[0].identify(); return […]

什么是对象切片?

有人在IRC中提到过,但谷歌没有一个好的答案。