gpt4 book ai didi

c++ - C++ 对象如何保存有关其成员函数的信息

转载 作者:太空狗 更新时间:2023-10-29 19:41:00 24 4
gpt4 key购买 nike

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com