Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC

< 前ページ次ページ >

概要

AppleのObjective-Cコンパイラでは、C++のコードとObjective-Cのコードを同じソースファイルに混在させて記述することが可能です。このようなObjective-CとC++のハイブリッド言語は、Objective-C++と呼ばれています。Objective-C++を使えば、Objective-Cアプリケーションから既存のC++ライブラリを利用することができます。XCodeでは、Objective-C++拡張をコンパイラで利用できるように、拡張子「.mm」を持ったファイル名にする必要があります。

Objective-C++はObjective-CのクラスにC++の機能を追加するものではなく、C++のクラスにObjective-Cの機能を追加するものでもありません。たとえば、Objective-C構文を使用してのC++オブジェクトの呼び出し、Objective-Cオブジェクトへのコンストラクタやデストラクタの追加、キーワードのthisselfの置き換え使用などを行うことはできません。クラス階層も異なります。C++のクラスはObjective-Cのクラスを継承できませんし、Objective-CのクラスもC++のクラスを継承することはできません。さらに、複数言語の例外処理もサポートされていません。つまり、Objective-Cコードでスローされた例外はC++コードではキャッチできず、逆に、C++コードでスローされた例外もObjective-Cコードではキャッチできません。Objective-Cの例外に関する詳細については、例外処理を参照してください。

次のセクションでは、Objective-C++で可能なことについて説明します。



< 前ページ次ページ >


Last updated: 2007-10-31




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2007 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice