Test a和Test *a;有什么不同
编号:QA002331
建立日期: 1999年12月27日 最后修改日期:1999年12月27日
所属类别:
snakes:
如果有一个类Test;
有三个这样的对象定义
Test a;
Test *a;
Test *a=new Test;
请问专家这三个定义的区别以及它们分别在什麽情况下使用。谢谢!!!!!!!
回答:
Test a与Test *a的区别就如同int与int *的区别。Test a是一个普通的Test类型的变量,而Test *a是Test类型的指针变量。而你说的后两种定义从本质来说没有区别。采用Test a方法定义后,系统完成初试化工作,你就可以直接调用了。而Test *a只是定义了一个指针,在将这个指针指向实际对象之前,你不能调用该指针的任何成员。而你所说的第三种情况实际是使用New建立一个临时变量,然后将指针指向这个对象。
此问题由李海回答。
| |
|
|
| |
|
|