首页 > 代码库 > C++组合通信
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; }
C++组合通信
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。