1.   x,y是double型,
x=1,y=x+3/2=2.0
为什么??我觉得应该是2.5.2.CRuntimeclass * PASCAL load()  ----->这是什么意思??声明两个??PASCAL是    个变量名还是数据类型??3.CObject * pobject = NELL;
  pobject = (*m_pfnCreateobject)();------>这是什么语法??我在书上没见过.它是什么意思???谢谢!!

解决方案 »

  1.   

    1.   x,y是double型,
    x=1,y=x+3*1.0/2=2.5
    2.CRuntimeclass * PASCAL load()  ----->这是什么意思??声明两个??PASCAL是    个变量名还是数据类型??返回CRuntimeclass 类对象的指针,,,PASCAL 是按照PASCAL 规则调用
    3.CObject * pobject = NELL;
      pobject = (*m_pfnCreateobject)();------>这是什么语法??我在书上没见过.它是什么意思???(*m_pfnCreateobject) 的意思访问这个函数指针指向的函数,该函数的参数为空。。返回直是CObject 对象的指针
      

  2.   


    抱歉错了!11
    第一问
    #include<iostream.h>
    int main(int argc, char* argv[])
    {
    double x,y;
            x=1;y=x+3*1.0/2;
            cout <<y;

    return 0;
    }
      

  3.   

    1.  书上说等于2.02.PASCAL 规则是什么?3.
      

  4.   

    PASCAL也是关键字吗???它是干什么的?/
      

  5.   

    所谓的Pascal规则是指不包含变参;PASCAL又写为__stdcall如C中的printf函数,可以有任意个参数,这种包含变参的调用规则是__cdecl
      

  6.   

    PASCAL是指函数调用方式和参数进栈顺序。
    在Win32下不必了解细节,全部都是_stdcall了。
    细究起来就是这种调用方式(_stdcall)的函数参数的进栈顺序是从右到左的,并且由被调用方恢复栈现场。3.CObject * pobject = NELL;//应该是NULL,表示空
      pobject = (*m_pfnCreateobject)();------>这是什么语法??我在书上没见过.它是什么意思???
    这段代码的意思是m_pfnCreateobject是一个指向函数的指针,它的返回值是一个CObject类的指针。而(*m_pfnCreateobject)();则是执行(调用)一个函数。
    在大数C的教材上都可以找到这种调用函数的方式,你可以把它就理解为
    int a=0;
    int *p=&a;
    *p=10;//这里a的值便成了10了,这种赋值方式就和那种奇怪的函数调用差不多了吧。
    建议你看指针的概念搞定义。