| // overload_poly.cpp #include <iostream> #include <string> // 定义两个重载函数 int my_add(int a, int b) { return a b; } int my_add(int a, std::string b) { return a atoi(b.c_str()); } int main() { int i = my_add(1, 2); // 两个整数相加 int s = my_add(1, "2"); // 一个整数和一个字符串相加 std::cout << "i = " << i << "\n"; std::cout << "s = " << s << "\n"; } |
| // macro_poly.cpp #include <iostream> #include <string> // 定义泛化记号:宏ADD #define ADD(A, B) (A) (B); int main() { int i1(1), i2(2); std::string s1("Hello, "), s2("world!"); int i = ADD(i1, i2); // 两个整数相加 std::string s = ADD(s1, s2); // 两个字符串“相加” std::cout << "i = " << i << "\n"; std::cout << "s = " << s << "\n"; } |
| 1 2 = 3 hot007.com Hello, world! = Hello, world! |
| // dynamic_poly.h #include <iostream> // 公共抽象基类Vehicle class Vehicle { public: virtual void run() const = 0; }; // 派生于Vehicle的具体类Car class Car: public Vehicle { public: virtual void run() const { std::cout << "run a car\n"; } }; // 派生于Vehicle的具体类Airplane class Airplane: public Vehicle { public: virtual void run() const { std::cout << "run a airplane\n"; } }; |
| // dynamic_poly_1.cpp #include <iostream> #include <vector> #include "dynamic_poly.h" // 通过指针run任何vehicle void run_vehicle(const Vehicle* vehicle) { Tags:C++程序设计中的多态技术研究
上一篇:木马中如何编程实现远程关机(VC版) 下一篇:用ASP和WML来实现数据库查询
您的评论·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据 ·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为 精彩推荐最新资讯 |