Поделиться через


Объекты типа класса

Объект типизированная области хранения среды выполнения; помимо сохранения сведений о состоянии, он также определяет расширение функциональности.Объекты типа класса определяются с помощью имя класса.Рассмотрим следующий фрагмент кода:

// class_type_objects.cpp
class Account
{
public:
   Account()   // Default constructor
   {
   }
   Account( double );   // Construct from double.
   double& Deposit( double );
   double& Withdraw( double, int );
};

int main()
{
   Account CheckingAccount;   // Define object of class type.
}

В приведенном выше коде объявляется новый класс (тип) Account.Затем он использует этот новый тип, чтобы указать объект, называемый CheckingAccount.

Следующие операции определяются C++ для объектов типа класса:

  • Присвоение.Один объект можно присвоить другой.По умолчанию функциональности для этой операции копирования memberwise.В этой функциональности можно изменить, указав определяемый пользователем оператор присваивания.

  • Инициализация использование конструкторов копии.

В следующих примерах инициализации с использованием определяемых пользователем конструкторы копирования:

  • Явная инициализация объекта.Примеры.

    Point myPoint = thatPoint;
    

    объявляет myPoint как объект типа Point и инициализирует его на значение thatPoint.

  • Инициализация, вызванных, передавая в качестве аргумента.Объекты могут быть переданы функции по значению или по ссылке.Если они передаются по значению, копия каждого объекта передается функции.По умолчанию метод, чтобы создать копию memberwise копия; это может быть изменено путем предоставления определяемый пользователем конструктор копии (конструктор, который принимает один аргумент типа «ссылки к классу»).

  • Инициализация, вызванных инициализацией возвращаемых значений от функций.Объекты могут быть возвращены из функций по значению или по ссылке.По умолчанию метод возвращает объект memberwise значением копия; это может быть изменено путем предоставления определяемый пользователем конструктор копий.Объект, возвращаемый по ссылке (с использованием указателя или ссылочные типы) и не должен быть автоматическим и локальными для вызываемой функции.Если это так, то объект, на который ссылается возвращаемому значению переместится из области, прежде чем на них можно будет использовать.

Перегруженные операторы объясняет, как переопределить другие операторы для каждого класс -- класса.

См. также

Ссылки

Общие сведения о классах