一、先看个错误案例
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
using namespace std;
class Parent
{
public:
Parent(int a)
{
this->a = a;
}
virtual void print() {
cout << "Parent::print()" << endl;
}
int a;
};
class Child :public Parent
{
public:
Child(int a) :Parent(a)
{
}
virtual void print() {
cout << "Child::print()" << endl;
}
int b;
};
int main()
{
Child array[] = { Child(0),Child(1),Child(2) };
Parent *pp = &array[0];
#if 1
for (int i = 0; i < 3; i++,pp++)
{
pp->print();
}
#endif
return 0;
}#define _CRT_SECURE_NO_WARNI