#include<bits/stdc++.h>
using namespace std;
class node
{
public:
int data;
double t;
};
int main()
{
node n1;
n1.data = 4;
n1.t = 3.14;
node n2 = n1;
cout << n2.data << '\n';
cout << n2.t << '\n';
return 0;
}
package JAVA;
class node{
int data;
double t;
}
public class Main {
public static void main(String[] args) {
node n1 = new node();
n1.data = 4;
n1.t = 3.14;
node n2 = n1;
System.out.println(n2.data);
System.out.println(n2.t);
System.out.println(n2);//JAVA.node@17c68925
System.out.println(n1);//JAVA.node@17c68925
}
}
JAVA里的对象,在
= new 类名();
之前都是引用(这是一种类似于C\C++中指针的东西,但功能少,且本身占用存储空间。而C\C++中的引用只是个名字,它不占空间)
2020.05.09update
node n1 = new node();
这里的n1也是个引用(类似于C\C++中指针的东西)
基类引用可以指向派生类对象(“一”字形螺丝刀可以插入“十”字形螺丝帽中,并驱使它转动),不过在调用函数时,只能调用部分函数(基类中有的:A、B)。
派生类引用不能指向基类对象(“十”字形螺丝刀不能插入“一”字形螺丝帽中,自然不能驱动它)。但倘若一个基类引用指向一个派生类对象,那么可以将这个基类引用通过 ‘=’ 赋值给派生类引用(+显示强制类型转换),结果是该派生类引用同样指向这一个派生类对象。
JAVA一切皆引用:
对象实体像是强酸强碱,不可直接触摸,每次用它都是通过试管玻璃杯等(引用)间接操纵它。