I am facing problem using STL library. I am attaching code snippet.
// Store a class object in a vector.
#include <iostream>
#include <vector>
using namespace std;
class Parent{
int id;
public:
Parent(){};
Parent(int x){ id=x;}
virtual ~Parent(){ cout<<"Parent"<<endl;}
virtual void print3(){cout<<"Printing Parent "<<id;}
};
class Child:public Parent{
int c;
public:
Child(int m,int n):Parent(m){
c=n;
}
Child(){c=0;}
virtual ~Child(){ cout<<"Child"<<endl;}
virtual void print3(){cout<<"Printing Child "<<c;}
};
class New_class
{
public:
New_class(){
tp=new Child(10,20);
}
~New_class(){
delete tp;
}
void check(Parent &tmp){
tmp.print3();
}
void print2(){tp->print3();}
private:
Parent *tp;
};
class New2{
vector<New_class> tp2;
public:
New2(){
tp2.push_back(New_class());
}
~New2(){
tp2.clear();
}
void print(){ vector<New_class>::iterator it=tp2.begin(); (*it).print2();}
};
int main()
{
New2 m ;
m.print();
}
Thanks in advance. Regards