首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于类继承的一个有关问题

2012-03-19 
关于类继承的一个问题在vs2005下编译,在一个地方出了8个错误,请问是语法不对吗?错误已标出#includestdafx

关于类继承的一个问题
在vs2005下编译,在一个地方出了8个错误,请问是语法不对吗?错误已标出
#include   "stdafx.h "
#include   "iostream "
#include   "string "
using   namespace   std;
class   S{
    public:
    virtual   void   write(){cout < < "S::write " < <endl;}    
   
};
class   R:public   virtual   S{
    public:
                void   write(){cout < < "R::write " < <endl;}  
}  
class   TS:public   R{   //***********错误
  public:
void   write(){cout < < "TS::write " < <endl;}
};
class   RS:public   R{
public:
void   write(){cout < < "RS::write " < <endl;}
};
class   Radio:public   TS,public   RS{
public:
void   write(){
                  cout < < "Radio::write " < <endl;
                  }
};
void   mytest(Radio*   p)   {
          S*   s1=dynamic_cast <RS*> (p);
          s1-> write();
    }
int   main(int   argc,   _TCHAR*   argv[])
{   Radio   rr;
    mytest(&rr);  
    return   0;
}
  error   C2236:   意外的“class”“TS”。是否忘记了“;”?
  error   C2143:   语法错误   :   缺少“;”(在“:”的前面)
  error   C2059:   语法错误   :   “:”
  error   C2059:   语法错误   :   “public”
  error   C2143:   语法错误   :   缺少“;”(在“{”的前面)
  error   C2447:   “{”:   缺少函数标题(是否是老式的形式表?)
  error   C2504:   “TS”:   未定义基类

[解决办法]
class R:public virtual S{
public:
void write(){cout < < "R::write " < <endl;}
} ;
//少了個分號。

仔細點啊 :)

热点排行