如题所述
因为代码不全,我补充了部分代码;
从这儿可以看出,如果调用子类的func(),输出10,如果调用基类的func(),输出1。
b是基类对象,然后将子类对象直接赋值给基类对象。
尽管变量的内容是子类,但变量类型仍旧是基类,所以无论是调用b.func()还是b.based::func(),本质上调用的仍旧是基类的func(),输出是2个1。
我将函数func()修改成虚函数,2个输出仍旧全是1。
只有涉及对象指针,才牵扯到虚函数的问题。
如果满意,欢迎采纳我的解答,谢谢。
欢迎追问。