C++抽象类

转载:

http://blog.youkuaiyun.com/Slience_Perseverance/article/details/20536277

抽象类是为了抽象和设计的目的而建立的,处于继承层次结构的上层。

具体类是能够建立对象的类。

抽象类的规定

(1)抽象类只能用作其他类的基类,不能建立抽象类对象。

(2)抽象类不能用作参数类型、函数返回类型或显式转换的类型。

(3)可以定义指向抽象类的指针和引用,此指针可以指向它的派生类,进而实现多态性。

  1. #include<iostream>
  2. usingnamespacestd;
  3. constdoublePI=3.14159;
  4. classShapes//抽象类
  5. {
  6. protected:
  7. intx,y;
  8. public:
  9. voidsetvalue(intd,intw=0){x=d;y=w;}
  10. virtualvoiddisp()=0;//纯虚函数
  11. };
  12. classSquare:publicShapes
  13. {
  14. public:
  15. voiddisp(){
  16. cout<<"矩形面积:"<<x*y<<endl;
  17. }
  18. };
  19. classCircle:publicShapes{
  20. public:
  21. voiddisp(){
  22. cout<<"圆面积:"<<PI*x*x<<endl;
  23. }
  24. };
  25. intmain()
  26. {
  27. Shapes*ptr[2];//定义对象指针数组
  28. Squares1;
  29. Circlec1;
  30. ptr[0]=&s1;
  31. ptr[0]->setvalue(10,5);
  32. ptr[0]->disp();
  33. ptr[1]=&c1;
  34. ptr[1]->setvalue(10);
  35. ptr[1]->disp();
  36. return0;
  37. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值