zoukankan      html  css  js  c++  java
  • cpp-数据抽象

     1 #include <iostream>
     2 using namespace std;
     3 
     4 class Adder{
     5     public:
     6         //构造函数
     7         Adder(int i=0){
     8             total=i;
     9         }
    10         
    11         void addNum(int number){
    12             total +=number;//在此处累加
    13         }
    14         int getTotal(){
    15             return total;
    16         }
    17     private:
    18         //对外隐藏的数据
    19         int total;
    20 
    21 };
    22 
    23 int main()
    24 {
    25     Adder b;
    26     b.addNum(10);
    27     b.addNum(20);
    28     b.addNum(50);
    29     b.addNum(120);
    30 
    31     cout<<"Total:"<<b.getTotal()<<endl;
    32 
    33     return 0;
    34 }

    纯虚函数

     1 #include <iostream>
     2 using namespace std;
     3 
     4 #if 0
     5 class Adder{
     6     public:
     7         //构造函数
     8         Adder(int i=0){
     9             total=i;
    10         }
    11 
    12         void addNum(int number){
    13             total +=number;//在此处累加
    14         }
    15         int getTotal(){
    16             return total;
    17         }
    18     private:
    19         //对外隐藏的数据
    20         int total;
    21 
    22 };
    23 #endif
    24 
    25 //基类
    26 class Box{
    27     public:
    28         //纯虚函数
    29         virtual int getArea()=0;
    30 
    31         void setBreadth(int b){
    32             breadth=b;
    33         }
    34         void setHeight(int h){
    35             height=h;
    36         }
    37         void setLength(int l){
    38             length=l;
    39         }
    40     protected:
    41         int height;
    42         int length;
    43         int breadth;
    44 };
    45 
    46 //派生类
    47 class Renct:public Box{
    48     public:
    49     //与纯虚函数同名
    50         int getArea(){
    51             return (breadth * height *length);
    52         }
    53 };
    54 
    55 class Tenct:public Box{
    56     public:
    57     //与纯虚函数同名
    58         int getArea(){
    59             return (height * length)/2;
    60         }
    61 };
    62 
    63 int main(void)
    64 {
    65 #if 0
    66     Adder b;
    67     b.addNum(10);
    68     b.addNum(20);
    69     b.addNum(50);
    70     b.addNum(120);
    71 
    72     cout<<"Total:"<<b.getTotal()<<endl;
    73 #endif
    74 
    75     Renct acc;
    76     Tenct bcc;
    77 
    78     acc.setBreadth(5);
    79     acc.setHeight(4);
    80     acc.setLength(3);
    81 
    82     bcc.setHeight(2);
    83     bcc.setLength(3);
    84 
    85     cout<<"Tenct:"<<acc.getArea()<<endl;
    86     cout<<"Teb:"<<bcc.getArea()<<endl;
    87 
    88     return 0;
    89 }
  • 相关阅读:
    Java8新特性Stream详细教程
    自定义注解!绝对是程序员装逼的利器!!
    如何处理重复请求/并发请求的
    C#字符处理
    mysql 索引
    mysql事件【定时器】
    JS日期,金钱处理
    Controller中使用@Value无法获取属性值
    druid连接池的配置
    mybatiste报错java.lang.ClassCastException
  • 原文地址:https://www.cnblogs.com/Blue-Moniter4/p/9480553.html
Copyright © 2011-2022 走看看