f1301.cpp
资源名称:c.rar [点击查看]
上传用户:puke2000
上传日期:2022-07-25
资源大小:912k
文件大小:1k
源码类别:

C#编程

开发平台:

Visual C++

  1. //=====================================
  2. // f1301.cpp
  3. // Abstract Classes
  4. //=====================================
  5. #include<iostream>
  6. class Display{
  7. public:
  8.   virtual void init() = 0;
  9.   virtual void write(char* pStr) = 0;
  10. };//-----------------------------------
  11. class Monochrome : public Display{
  12.   virtual void init();                  // overlapped
  13.   virtual void write(char* pStr);     // overlapped
  14. };//-----------------------------------
  15. class ColorAdapter : public Display{
  16. public:
  17.   virtual void write(char* pStr);     // overlapped
  18. };//-----------------------------------
  19. class SVGA : public ColorAdapter{
  20. public:
  21.   virtual void init();                  // overlapped
  22. };//-----------------------------------
  23. void Monochrome::init(){}
  24. //-------------------------------------
  25. void Monochrome::write(char* pStr){
  26.   std::cout<<"Monochrome: "<<pStr;
  27. }//------------------------------------
  28. void ColorAdapter::write(char* pStr){
  29.   std::cout<<"ColorAdapter: "<<pStr;
  30. }//------------------------------------
  31. void SVGA::init(){}
  32. //-------------------------------------
  33. void g(Display* d){
  34.   d->init();
  35.   d->write("hello.n");
  36. }//------------------------------------
  37. int main(){
  38.   Monochrome mc;
  39.   SVGA svga;
  40.   g(&mc);
  41.   g(&svga);
  42. }//====================================
  43.