C ++ исследование класс заметки

  1. Функция Friend может получить доступ к закрытой части объекта
    другу Есть три:
    • функция Friend
    • Tomomoto 类
    • Функция член Friend
  2. Друг функция без использования класса классификатора
  3. Функция друга без изменения параметров, как правило, не добавляют после того, как сопзЬ
  4. Для функций-членов, ряд операций по этому указателю неявно передается, то другой операнд передаются в качестве аргумента в явном виде, для функции друга, оба операнда передаются в качестве параметров, например:

    Time operator+(const Time &t) const;
    friend Time operator+(const Time &t1,const Time & t2);
  5. Состояние элемента описан, в котором состояние объекта
  6. Принимать только параметр конструктора определяет преобразование типа параметра к типу класса. Если ключевому слово explicitопределяет этот конструктор, он может быть использован только для явного преобразования в противном случае неявного преобразования также может быть использован.

    Stonewt myCat;
    myCat = 19.6;           // 如果 Stonewt(double) 是 explicit 声明的,这不合法
    myCat = Stonewt(19.6);  // 显式转换
    myCat = (Stonewt)19.6;  // 旧版本的显式转换

    Однако, если и только если неоднозначность преобразования не существует, это будет два шага преобразования , то есть , если класс также определяет конструктор Stonewt(long), компилятор отвергал эти утверждения можно отметить: INT могут быть преобразованы до тех пор , или двойной, поэтому вызов существует неоднозначность.

  7. Не выделяет память при использовании указателя указывает на имя объекта. Это знание давно.

    int * arr;      // 没有内存之间, 只是一个指针
    int arr[10];    // 有内存空间
  8. Статические члены класса staticфункции: Независимо от того , как создаются многие объекты, программа только не создает копию статической переменной класса , который должен сказать, все классы объектов используют один и тот же статический член.

рекомендация

отwww.cnblogs.com/count0/p/10926463.html