问个C++简单的有关问题,程序的输出是什么
问个C++简单的问题,程序的输出是什么?以下程序的输出是什么?麻烦解释下。C/C++ code#include iostreamusi
问个C++简单的问题,程序的输出是什么?
以下程序的输出是什么?麻烦解释下。
C/C++ code#include <iostream>using namespace std;class A{public: void f() {cout << "A::f()" << endl;}};int main(){ A *pa = new A; pa->f(); pa = NULL; pa->f(); //还可以调用?? return 0;}
[解决办法]这里你的f()成员函数正好没用使用到类的成员数据,所以可以,使用到成员数据就会报错。
[解决办法]因为没有使用数据成员 NULL 的值是 0 即相当于 pa = (A)0
所以没什么问题
[解决办法][解决办法][解决办法]我是这样理解的~一个对象在内存里面的形式只包含这个类的数据成员~而函数成员却是编译器后接上去的~用一种我们不知道的规则调用~~
其实可以把一个类理解为C里面的一个源文件,
NULL->f();这样f没有数据成员的话就可以