首页 > 代码库 > 一些小问题
一些小问题
问1:子类继承了父类的所有成员,对吗?
答1:错,子类没有继承父类的构造函数,析构函数,operator=和友元函数。
问2:父类指针指向子类对象,通过该指针能够调用子类特有(父类没有)的函数吗?
答2:不能,见下例。
#include <iostream> using namespace std; class A{}; class B:public A { void hello() { cout << "Hello" << endl; } }; int main() { B b; A* a = &b; //父类指针指向子类对象 a->hello(); //编译失败 }
问3:问2的基础上,若该函数在父类中也声明了,通过该指针能够调用子类特有(父类也有,但函数体不一样)的函数吗?若不能怎么才能做到?
答3:不能,没有虚函数的话,父类指针只能调用父类自己的函数,如果要调用同名的子类函数,则应该将父类的函数声明为虚函数。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。