第16课 类的真正形态
Posted wanmeishenghuo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第16课 类的真正形态相关的知识,希望对你有一定的参考价值。
经过不停的改进,结构体struct变得越来越不像它在C语言中的样子了。
类的关键字:
类的关键字:
示例程序:
1 #include <stdio.h> 2 3 struct A 4 { 5 // defualt to public 6 int i; 7 // defualt to public 8 int getI() 9 { 10 return i; 11 } 12 }; 13 14 class B 15 { 16 // defualt to private 17 int i; 18 // defualt to private 19 int getI() 20 { 21 return i; 22 } 23 }; 24 25 int main() 26 { 27 A a; 28 B b; 29 30 a.i = 4; 31 32 printf("a.getI() = %d ", a.getI()); 33 34 b.i = 4; 35 36 printf("b.getI() = %d ", b.getI()); 37 38 return 0; 39 }
34、36行是错误的,不能访问private级别的成员。
小实例:
类的真正形态:
头文件如下:
1 #ifndef _OPERATOR_H_ 2 #define _OPERATOR_H_ 3 4 class Operator 5 { 6 private: 7 char mOp; 8 double mP1; 9 double mP2; 10 11 public: 12 bool setOperator(char op); 13 void setParameter(double p1, double p2); 14 bool result(double& r); 15 }; 16 17 #endif
源文件如下:
1 #include "Operator.h" 2 3 bool Operator::setOperator(char op) 4 { 5 bool ret = false; 6 7 if( (op == ‘+‘) || (op == ‘-‘) || (op == ‘*‘) || (op == ‘/‘) ) 8 { 9 ret = true; 10 mOp = op; 11 } 12 else 13 { 14 mOp = ‘