类对象作为自身的成员变量,java可以,c++不可以,为什么,如下java可以

2024-11-30 10:00:03
推荐回答(5个)
回答1:

java可以,c++也可以的。
只是你基本概念需要加强。

c++中的指针类型有指针和引用类型。
一个类的成员变量是自己的类型,c++的链表就这么做。

java语言你要记住:基本数据类型和引用类型的变量保存在栈里,对象本身保存在堆里。
public TestClass testClass = new TestClass();
testClass本身是引用类型,保存在栈里,testClass指向堆里真正的对象。

回答2:

c++的类实现机制与java的有区别
具体jave类的实现我不是很清楚,感觉java中的类都类似c++中句柄类型,在类里声明一个成员TestClass testClass的时候都没有调用构造函数.只有在new操作时才调用构造函数
而c++在声明了TestClass testClass成员之后,在实例化TestClass类的时候,会先调用基类构造函数和成员对象的构造函数,如果允许有类自身的成员对象,那么就会造成构造函数的无限递归.

回答3:

我嘞个去~,你疯狂了,直接给我机器干死机了~。
你试着在main方法里 TestClass test = new TestClass(); 然后再运行,你就知道java里也是不可以的,更准确点儿说,应该称之为是 不推荐的。 也就是为什么C++不可以啊

回答4:

Java与c++的区别
java是运行在JVM中的,并且是编译成JVM可识别加载的.class,并不是完全编译成计算机直接可执行的程序,C++ 程序直接可在计算机中执行
程序的运行效率C++肯定要比Java程序效率高
但是java的开发效率要更高些
有区别就会有所不同

——仅供参考——

回答5:

其实java中的对象你可以看做是c++中的结构体,这样相信你根据这个关系一推你就立马知道是什么原因了哟