设为首页 加入收藏

TOP

C++继承中方法的使用
2014-02-08 13:36:00 来源: 作者: 【 】 浏览:106
Tags:继承 方法 使用

  一、整体代码

  01.cpp

  #include <IOSTREAM>

  using namespace std;

  class Base {

  public:

  virtual void display() { //纯虚函数,virtual声明的函数,向上转型后的对象才能调用到子类同名的方法

  cout 《 "Base" 《 endl;

  }

  Base() {

  cout 《 "Base …" 《 endl;

  }

  virtual  ~Base() { //纯虚析构函数,只有声明成virtual,向上转型的对象先调用子类的析构函数,再调用父类的析构函数

  cout 《 "~Base …" 《 endl;

  }

  };

  class Derived: public Base {

  public:

  void display() { //覆盖父类的方法

  cout 《 "Derived" 《 endl;

  Base::display(); //使用父类的方法,由于是覆盖,所以同名,要用这种方式来引用

  }

  void test() { //定义自己的方法

  display();

  }

  Derived()

  {

  cout《"Derived …"《ENDL; d- Derived; d="new" Base* { main(void) int }; } …?《endl; cout《 ~Derived ~Derived()>display();

  delete d;

  return 0;

  }

  二、运行结果

  Base …

  Derived …

  Derived

  Base

  ~Derived …

  ~Base …

  三、直接生成子类对象,可以调用子类的public方法和父类public非virtual的方法

  直接生成父类对象,只能调用父类public方法

  生成子类对象向上转型为父类对象,能够调用父类public非virtual的方法和子类覆盖virtual的方法

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇最小生成树算法Prim算法 下一篇VC下fopen如何支持中文

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·PostgreSQL 索引 - (2025-12-25 22:20:43)
·MySQL Node.js 连接 (2025-12-25 22:20:41)
·SQL 撤销索引、表以 (2025-12-25 22:20:38)
·Linux系统简介 (2025-12-25 21:55:25)
·Linux安装MySQL过程 (2025-12-25 21:55:22)