三少爷

专注~~~

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  11 随笔 :: 0 文章 :: 0 评论 :: 3083 阅读
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8
#include <iostream>
#include <vector>
#include <list>
 
using namespace std;
 
class Shape
{
public:
    virtual void draw() = 0;
    virtual ~Shape(){}
};
class Circle:public Shape
{
public:
    void draw(){cout<<"Circle::draw\n";}
    ~Circle(){cout<<"~Circle\n";}
};
class Triangle:public Shape
{
public:
    void draw(){ cout<<"Triangle::draw\n";}
    ~Triangle(){ cout<<"~Triangle\n";}
};
class Square:public Shape
{
public:
    void draw(){ cout<<"Square::draw\n";}
    ~Square(){ cout<<"~Sauare\n";}
};
 
typedef vector<Shape*> Container;
//typedef list<Shape*> Container;
typedef Container::iterator Iter;
 
int main()
{
    Container shapes;
    shapes.push_back (new Circle());
    shapes.push_back (new Triangle());
    shapes.push_back (new Square());
    for(Iter i = shapes.begin ();i != shapes.end ();i++)
    {
        (*i)->draw();
    }
    for(Iter j = shapes.begin ();j != shapes.end ();j++)
    {
        delete *j;
    }
 
    system("pause");
 
}

  

posted on   三少_爷  阅读(150)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示