问个C++简单的有关问题,程序的输出是什么
问个C++简单的问题,程序的输出是什么?
以下程序的输出是什么?麻烦解释下。
------解决方案--------------------
这里你的f()成员函数正好没用使用到类的成员数据,所以可以,使用到成员数据就会报错。
------解决方案--------------------
因为没有使用数据成员 NULL 的值是 0 即相当于 pa = (A)0
所以没什么问题
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
我是这样理解的~一个对象在内存里面的形式只包含这个类的数据成员~而函数成员却是编译器后接上去的~用一种我们不知道的规则调用~~
其实可以把一个类理解为C里面的一个源文件,
NULL->f();这样f没有数据成员的话就可以
以下程序的输出是什么?麻烦解释下。
- 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没有数据成员的话就可以