- 论坛徽章:
- 0
|
代码类似下面这样
#include "stdafx.h"
#include <vector>
using namespace std;
class Base
{
int m_Base;
public:
Base(int i )
{
m_Base = i;
}
~Base()
{
}
};
class Derive : public Base
{
int m_Derive;
int m_Derive_2[9999];
public:
Derive(int i ):
Base(i)
{
m_Derive = i;
}
~Derive()
{
}
};
int main()/*int型的main函数*/
{
std::vector<Derive> vec;
for( int i = 0 ; i < 5; )
{
vec.push_back(Derive(i++) );
}
std::vector<Base> vecBase;
std::copy(vec.begin(), vec.end(), std::back_inserter(vecBase));
vecBase.assign( vec.begin(), vec.end() ); //将子类的对象赋值到父类的Vector中,在Solaris环境下这一行会CoreDump, 如果换成上面一行就没问题了,哪位高手指点一下原因?
return 0;/*返回值为0,也就是退出这个函数,不用它也可以,执行到此处后会自动退出程序*/
} |
|