class A {
public :
void printSometext() {
std::cout << "printing A" << std::endl;
}
};
class B {
public :
void printSometext() {
std::cout << "printing B" << std::endl;
}
};
int main() {
A* a = new A();
a->printSometext();
return 0;
}
C++ 对象如何保存有关其成员函数的信息。让我们考虑上面的代码。当我在对象“a”上调用 printSometext 时,它如何知道要调用什么函数以及如何找到正确的方法。 当打印对象的大小时,它会打印其成员变量 (+allignments) 的总和大小。所以请提供一些内部信息,成员函数调用是如何发生的。
谢谢, 得摩斯
最佳答案
您错误地理解了 C++ 编程的基础知识。 a
在运行时不知道 printSomeText
,是编译器和链接器将上述代码转换为执行这些任务的二进制代码。在运行时,只有一堆指令。
关于c++ - C++ 对象如何保存有关其成员函数的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5374850/