2011年计算机二级C++辅导实例编程(8)

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

  17 int add(int a, int b) {

  18 return a + b;

  19 }

  20

  21 int main() {

  22 D d1 = 1.1;

  23 D d2 = 2.2;

  24 std::cout << add(d1, d2) << std::endl;

  25

  26 return 0;

  27 }

  28

  29

  在24行执行add(d1,d2)函数时“(int)D”重载函数将被调用,程序运行的输出为:

  (int)d called!

  (int)d called!

  3

  类型转换操作符 vs 类型转换构造函数(conversion constructor)

  有时候使用conversion constructor就能实现类型转换,这种方式效率更高而且也更直观,下面举例说明:

  1 #include

  2

  3 class A

  4 {

  5 public:

  6 A(int num = 0) : dat(num) {}

  7

  8 /* 重载"(int)a" */

  9 operator int() { return dat; }

  10

  11 private:

  12 int dat;

  13 };

  14

  15

  16 class X

  17 {

  18 public:

  19 X(int num = 0) : dat(num) {}

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答