免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1895 | 回复: 5
打印 上一主题 下一主题

java和C++中类的不同声明方式 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-08 19:52 |只看该作者 |倒序浏览
小弟最近同时学java和c++,有点疑问请教大家!!
首先大家看两段程序(很基本,但是我有疑问):
#include <stdio.h>
#include <iostream.h>
class mytest{
public:
mytest()
{
printf("test\n");
}
};
void main()
{
       
        mytest test1,*hi;hi=&test1;
//        cout<<test1;错误使用
        cout<<&test1;cout<<hi;

}


public class test1{
public static void main(String args[])
{
        test1 test1=new test1();
        System.out.println(test1);//问题,怎么样才能输出他的地址呢。还有,到底C++中的类定义
                                  //与java中的有什么不同。类名的含义有什么不同????
}
test1()
{
System.out.println("test");
}
}

我的问题就是java中定义一个类变量后,这个类变量到底代表什么?相当于一个指针吗?c++中定义一个类变量后,不用new就可以生成一个类对象,这于java中的实现机制有什么不同,他又代表一个什么东西呢?也许问题很弱智,还是大家希望能给我一点意见!

论坛徽章:
0
2 [报告]
发表于 2005-12-08 20:28 |只看该作者
java也一样,

论坛徽章:
0
3 [报告]
发表于 2005-12-08 23:25 |只看该作者

回复 2楼 knight-yl 的帖子

能不能详细说一下,什么也一样啊?

论坛徽章:
0
4 [报告]
发表于 2005-12-09 07:40 |只看该作者
Java中不允许直接进行内存操作。所以没有指针操作。没有取地址的操作。

论坛徽章:
0
5 [报告]
发表于 2005-12-09 09:50 |只看该作者
Java中声明一个类对象,也就相当于C++里的一个指针变量,当用new真正从堆里实例化它的时候,才有了C++意义上的对象。C++中的对象在声明时就已经在栈里实例化了。而Java为了让虚拟机管理内存的回收,所以类的引用分配在栈中,对象分配在堆中。

论坛徽章:
0
6 [报告]
发表于 2005-12-09 11:00 |只看该作者

回复 5楼 zw_ren 的帖子

zw_ren大哥说得很有道理,谢谢你如此精妙的回答!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP