简单的类指针和动态内存分配,该怎么解决

简单的类指针和动态内存分配
调用函数的通常形式“函数名(参数表)”的实质就是“函数代码首地址(参数表)
-----------
那么我们函数指针只需要这样调用
point(a);
而成员函数指针却要这样
XXX-> *point()
为什么前面还要加个别*   ()
取他地址里面的内容?

-----------
动态内存分配
--------
point   *ptr1=new   point;     //动态创建对象,没有给出初值,因此调用默认构造函数
delete   prt1   //删除对象,自动调用析构函数
ptr1=   new   point(1,2)     //动态创建对象,给出初值,因此调用有形参的构造函数

-------
为什么第一次定义对像指针
point   *ptr1
要这样,

第二次
ptr1=   new   point(1,2)
类名称都不用给出来,   *号也不用给了,这是什么原因?


相关文档:郑莉,董渊C++第二版式176页,179页


------解决方案--------------------
1。
前面是不需要加* ,可以直接把函数指针当作函数来使用,在c/c++中,函数名就代表了地址,跟数组一样。

2。
point *ptr1=new point; 定义的一个指针,并且让指针指向一个内存空间
delete prt1 回收了指针所指向的内存空间,指针仍然存在
ptr1= new point(1,2) 再次让指针指向一个新申请内存空间
------解决方案--------------------
point *ptr1 //声明指针
要这样,

第二次
ptr1= new point(1,2) //使用指针
类名称都不用给出来, *号也不用给了,这是什么原因?


point *ptr1=new point; //声明和使用放到一起了
------解决方案--------------------
指针似乎是初学者的梦魇!!
char *s= "hello world ";//变量定义时直接初始化了,指针

char *s2;
s= "hello world ";


对于函数指针的问题,函数调用在汇编级别就是call一个地址
这个地址的取得要是用指针来取当然要*号引用一次
------解决方案--------------------
char *s= "hello world ";//变量定义时直接初始化了,指针

char *s2;
s2= "hello world ";//上楼面写错了
------解决方案--------------------
1. 不用加*也是可以的.因为指针本身已经指向了函数的地址了

2.第一次定义对像指针point *ptr1,这以后,ptr1就是一个指向point类型的指针了,它就可以任意的指向point类型的对象,当然就可以第二次ptr1= new point(1,2)这样了


------解决方案--------------------
建议楼主换C++ primer,不要再浪费生命了。