Наследование структуры в C++

Я сделал расширение для этого.

public extension UIResponder {

    private struct Static {
        static weak var responder: UIResponder?
    }

    public static func currentFirst() -> UIResponder? {
        Static.responder = nil
        UIApplication.shared.sendAction(#selector(UIResponder._trap), to: nil, from: nil, for: nil)
        return Static.responder
    }

    @objc private func _trap() {
        Static.responder = self
    }
}

Использование:

if let activeTextField = UIResponder.currentFirst() as? UITextField {
    // ...
}
159
задан Peter Mortensen 15 December 2017 в 19:42
поделиться

4 ответа

Да, struct точно такая же, как class , за исключением того, что по умолчанию доступность public для struct ( в то время как это частный для класса ).

279
ответ дан 23 November 2019 в 21:33
поделиться

Да. По умолчанию наследование является публичным.

Синтаксис (пример):

struct A { };
struct B : A { };
struct C : B { };
116
ответ дан 23 November 2019 в 21:33
поделиться

Помимо того, что уже заявили Алекс и Эван, я хотел бы добавить, что структура C ++ не похожа на структуру C.

В C ++ структура может иметь методы, наследование, и т. д. точно так же, как класс C ++.

43
ответ дан 23 November 2019 в 21:33
поделиться

Конечно. В C ++ структуры и классы почти идентичны (среди небольших отличий есть такие вещи, как установка по умолчанию на public вместо private).

23
ответ дан 23 November 2019 в 21:33
поделиться
Другие вопросы по тегам:

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