C++ включает и импортирует различие

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
90
задан bluish 19 November 2012 в 10:40
поделиться

5 ответов

#import определенная для Microsoft вещь, по-видимому, для COM или материала.NET только.

#include стандартный оператор препроцессора C/C++, используемый для включения заголовка (или иногда другой исходный код) файлы в Вашем файле исходного кода.

57
ответ дан Head Geek 24 November 2019 в 07:05
поделиться

Импорт в VC ++: #import для библиотек типов или .tlbs (материал COM).

содержание библиотеки типов преобразовывается в классы C++, главным образом описывая COM-интерфейсы для Вас автоматически, и затем это включено в Ваш файл.

#import директива была представлена Microsoft как расширение языка C++. Можно читать об этом в эта статья .

MSDN #import, директива также используется с.NET / материал CLI.

Импорт в gcc: импорт в gcc отличается от импорта в VC ++. Это - простой способ включать заголовок самое большее однажды только. (В VC ++ и GCC можно сделать это через #pragma однажды также)

#import, директива была официально неустаревшей gcc командой в версии 3.4 и хорошо работает 99% времени во всех предыдущих версиях gcc, которые поддерживают

, Включайте: #include для главным образом заголовочных файлов, но предварительно ожидать содержание в Ваш текущий файл. #include часть стандарта C++. Можно читать об этом в эта статья .

MSDN
75
ответ дан bluish 24 November 2019 в 07:05
поделиться

импорт был также одним из ключевых слов, связанных с n2073, Модули в C++ , предложенный комитету по языку Daveed Vandevoorde в сентябре 2006. Я - недостаточно фаната языка, чтобы знать, было ли то предложение окончательно отложено или если оно ждет реализации (подтверждение концепции) от автора или кого-то еще...

4
ответ дан Don Wakefield 24 November 2019 в 07:05
поделиться

#import полно решение обычного

#ifndef ...
#define ...
#include ...
#endif

обходное решение. #import включает файл, только если он не был включен прежде.

Могло бы стоить отметить, что Objective C Apple также использует #import операторы.

8
ответ дан sjngm 24 November 2019 в 07:05
поделиться

Обратите внимание, что в GCC 4.1 #import устарел. Если вы используете его, вы получите предупреждение:

#IMPORT является устаревшим расширением GCC

3
ответ дан 24 November 2019 в 07:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: