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 }