В чем разница между закрытой переменной в классе java и закрытой переменной в структуре c ++?
Код Java, например, см. Ниже: реализация таблицы ADT.Пример c ++, см. ниже: применение «сокрытия реализации»
Я посмотрел онлайн, не смог найти никакого полезного источника, связанного с этой конкретной темой
Пример Java:
class Table{
private int size;
private int num;//numbers of items are stored in the arrray
private int[] array;
public Table(int size, int[] array){
this.size = size;
this.array = new int[size];
}
public insert(int[] array, int newItem){
if(num<size){
//for loop for adding items into the array;
}
else if(num>=size){
//increment the size and copy the original array to the new array
}
}
}
Пример скрытия реализации на C ++:
struct B{
private:
char j;
float f;
public:
int i;
void func();
};
void::func(){
i = 0;
j = '0';
f = 0.0;
};
int main(){
B b;
b.i = i; // legal
b.j = '1'; // illegal
b.f = 1.0; // illegal now
}
в c ++ мы не можем изменить приватную переменную, потому что эти bj = '1';бф = 1,0;две строки в функции main () вот почему?в Java мы не можем изменить приватные переменные в main ().
спасибо!