在面向对象这里,所谓编译期是什么东西,而运行期又是什么,访问并非运行是啥意思?

img


在面向对象这里,所谓编译期是什么东西,而运行期又是什么,访问并非运行是啥意思?

编译运行都不了解?编译就是把代码转换成obj文件,然后通过汇编和链接转换成exe。。。看起来很复杂,你可以简单理解成把代码转换成可执行程序的过程。然后运行不就是运行吗,这没啥可以解释的。。。至于多态,它虽然是运行期间确定类型,但是必须满足父类和子类有完全相同的虚函数,如果是子类的新成员,父类是无法访问的,因为即使有多态C++也是强类型,多态只是用了虚函数表,相当于函数指针,所以要求参数类型和返回值完全相同。而你这个父类访问子类新成员是无论如何不可能通过一般方法实现的