• C++组合通信


    #include <iostream>
    #include<vector>
    #include<string>
    
    using namespace std;
    
    class AbstractFile{
    	protected:
    		string name;
    	public: 
    	    AbstractFile(string n){
    	    	name=n;
    	    } 
    	    virtual void Display()=0; // 纯虚函数
    		 
    }; 
    class File:public AbstractFile{
    	public:
    	
    		File(string n):AbstractFile(n){}
    		
    		void Display(){
    			cout<<name<<endl;
    		}
    };
    class Folder:public AbstractFile{
    	private:
    		vector<AbstractFile *> objvec;  //迭代器 
    	public:
    		Folder(string n):AbstractFile(n){}
    		void add(AbstractFile *t){
    			objvec.push_back(t);
    		}
    		void Display(){
    			vector<AbstractFile *>::iterator ivec; 
    			cout<<name<<endl;
    			for(ivec=objvec.begin();ivec<objvec.end();ivec++)
    			   (*ivec)->Display();
    		}
    };
    int main(int argc, char** argv) {
          Folder *root=new Folder("C:\");
          File *pa=new File("a.txt");
          File *pb=new File("b.txt");
          Folder *paa=new Folder("aa");
          File *p1=new File("1.cpp");
          File *p2=new File("2.cpp");
          root->add(pa);
          root->add(pb);
          root->add(paa);
          paa->add(p1);
          paa->add(p2);
          
          root->Display(); //调用Display() 
          
          delete  root;
          delete pa ;
          delete pb ;
          delete  p1;
          delete  p2;
          delete  paa;
                         
          
    	return 0;
    }


  • 相关阅读:
    Scala Ant Tasks
    Git挂钩
    读写文件
    DC10用CSS定位控制网页布局
    table设置colspan属性,列宽显示错位解决方法
    ATM和购物商城-错题集
    python 函数参数多种传递方法
    python 函数 初学
    python 集合 gather
    元组 字体高亮 购物车练习
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6958359.html
Copyright © 2020-2023  润新知