首页 > 编程语言 > 详细

一个C++继承、虚函数和多态性的实例代码

时间:2014-08-27 18:41:58      阅读:242      评论:0      收藏:0      [点我收藏+]
#include <iostream>
#include <string>

using namespace std;

namespace Animals {
	class Dog {
	  private:
		string name;
		
	  public:
		Dog(string name) : name(name) {
		}
		
		Dog() : name(NULL) {
		}
		
		virtual void bark() {
		  cout << "Baseclass: Hi, " << name << endl;
		}
		
		string getName() {
		  return name;
		}
		
		void setV(string aname) {
		  name = aname;
		}
	};

	class SDog : public Dog {
	  public:
		SDog(string name) : Dog(name){}
		
		virtual void bark() {
			Dog::bark();
			cout << "Dericed Class: Hi, " << Dog::getName() << endl;
		}
	};
}

int main() {
  using namespace Animals;
  
  Dog a("martin");
  SDog b("merry");
  a.bark();
  b.bark();
  return 0;
}

一个C++继承、虚函数和多态性的实例代码

原文:http://blog.csdn.net/miscclp/article/details/38874495

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!