【C++学习笔记】虚函数(虚方法)
介绍 对于一个派生类以及他的基类,若两者都有一个相同名字的方法,但这两个方法的实际行为并不相同,那应将这个方法声明为虚方法(virtual)。原因在于,如果方法是通过引用或指针调用的,在不声明位虚方法的情况下,程序将根据引用类型或指针类型确定使用的是具体哪个方法。而声明为虚方法,程序将根据引用或指针具体所指向的对象的类型来调用方法 e.g. 使用引用来调用方法 首先是不使用虚函数的情况 #include <iostream> #include <cstdio> #include <cstring> #include <string> #include <cctype> using namespace std; class Human{ ..
Read more【C++学习笔记】关于继承,基类与派生类
一、概念 继承:继承是C++中的一种机制,通过这种机制,我们可以基于已有的旧的数据类型创建出新的数据类型。在C++中,继承分三种:公有继承(public),私有继承(private),保护继承(protected)。不同的继承类型在在访问权限上会有区别。 基类:即被继承的类。 派生类:即由一个已有的类派生过来的新的类。 二、继承 1)公有继承(public) 公有继承指的是基类的公有成员和保护成员保持不变,但派生类无法直接访问私有成员,需要通过基类的公有成员函数或友元函数访问。 2)私有继承(private) 私有继承指的是,在派生类中,基类的公有成员和保护成员都成为了派生类的私有成员,且这个派生类的派生类(子类)无法访问。 3)保护继承(protected) 保护继承是指基类的公有..
Read more