Форум программистов, компьютерный форум CyberForum.ru

Указатели в С++ и Java. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ многомерный массив http://www.cyberforum.ru/cpp-beginners/thread451080.html
помогите сделать задачу через указатели Сформировать массив типа char размером в 7х5х8 элементов. Проинициализировать его случайными символами от A до Z. Вывести строки, в которых встретилась встретилась буква 'W'. (Строки - это второй индекс справа, их всего 7*5).
C++ Найдите ошибку... C++ изучать начал недавно. Вот написал программу и столкнулся с проблемой. #include <iostream.h> class Employee { public: void SetAge(int Age) { Age = itsAge; } void SetYOS(int YOS) { YOS = itsYOS; } void SetSalary(int Salary) { Salary = itsSalary; } http://www.cyberforum.ru/cpp-beginners/thread451076.html
Определить самое встречающееся число в массиве C++
Определить, какое абсолютное значение встречается в массиве чаще чем другие. диапазон значений -50 - 50, размерность массива 200. То, что я сделала, это задала рандом массив значениями от -50 - 50 и размерностью 200. а вот дальше зависла #include<iostream> #include <stdio.h> #include<cstdlib> using namespace std; int main() {
C++ Отобразить симметрично относительно вертикальной оси секторы матрицы...
Напишите программу, пожалуйста. Заполнить матрицу случайными числами. Отобразить симметрично относительно вертикальной оси секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей.
C++ Заменить все элементы с отрицательными значениями средним арифметическим значением всех положительных элементов http://www.cyberforum.ru/cpp-beginners/thread451059.html
Размерность массива (100) Диапазон значений (-100 - +100) Заменить все элементы с отрицательными значениями средним арифметическим значением всех положительных элементов Пожалуйста, напишите такую программу.
C++ код грея здравствуйте. помогите пожалуйста с кодом задачи, я не могу додуматься никак. у нас есть n-мерный куб. и надо обойти все вершины это куба с помощью кода Грея(увеличение одного разряда). ну и просто вывести. получается как таблица 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 . . . . . . и так далее подробнее

Показать сообщение отдельно
Грымзик
2466 / 1443 / 31
Регистрация: 14.09.2009
Сообщений: 2,742

Указатели в С++ и Java. - C++

22.02.2012, 20:52. Просмотров 929. Ответов 10
Метки (Все метки)

Добрый вечер! Сейчас изучаю джаву и как оказалось, я все это время и С++ не знала. В литературе иногда встречатеся, что в С++ в функции передаются сами указатели, а в джаве значения указателей. Вот простой пример
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class A
{
    public int i;
    public A(int n){i=n;}
}
 
public class Test {
    static void f(A a)
    {
        a=new A(10); //1
    }
    public static void main(String[] args) {
        A aaa=new A(5);
        System.out.println(aaa.i);
        f(aaa);
        System.out.println(aaa.i);
    }
}
Т.е в строчек 1 выдаляется память именно под локальный указатель a, а не aaa из мейна. И логично, что выводиться 55. Я попробовала аналогичный код в плюсах
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class A
{
public:
      int i;
      A(int n){i=n;}
};
 
void f(A *a)
{
     a=new A(10);
}
int main()
{
    A *a=new A(5);
    cout<<a->i;
    f(a);
    cout<<a->i;    
    return 0;
}
Я ожидала, что выведеться 510, но опять же вывелось 55. Тогда в чем отличие то? Значит в плюсах тоже в функцию передается значение указателя?
И еще одну вещь не понимаю. Почему если я изменю на
delete a;
a=new A(10);
то уже все-таки будет выводиться 510? Почему тут этот delete что-то меняет? Т.е все-таки можно указатель aaa внутри функции изменить? Но почему для этого обязателен delete?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru