〜〜 C++講座・JAVA講座・VB講座・ネット収入講座・アフィリエイト講座・メール受信講座・株講座・投資信託講座・お小遣い講座 〜〜

   MENU           == C++基本講座 ==

1. はじめに
2. オブジェクト指向
3. 文法関連
4. クラス
5. コンストラクタ/デストラクタ
6. オーバーライド(仮想関数)
7. オーバーロード
8. new/delete
9. 継承/多重継承
10. 例外処理
11. inline関数,static変数



 得@スキルアップ塾.com > C++基本講座 > 4. クラス

   クラス


■講義一覧
 1. 概要
 2. クラスの宣言/定義
 3. クラスの実装(インスタンス化)
 4. UML(unified modeling language)定義
 5. アクセス制限
 6. クラスと構造体の違い

■1.概要

 ・オブジェクト指向型であるC++言語にとって、クラス(class)の考え方がメインになってきます。

 ・操作対象となるものを1つのクラス単位で考え、設計していくことがオブジェクト指向型プログラミング
  であり、クラスの定義、クラスの隠蔽機能、クラスの継承機能など主な機能になります。
  また、クラス単位にモジュールを作成することで、修正箇所が局所化することができ、
  修正モジュールのみ入れ替えることで対応できる為、大規模な開発に適していると言われています。

一覧へ

■2.クラスの宣言/定義

 ・クラスの宣言は、"class"を使用します。

 ・基本的にクラスは、クラス内で使用する変数それらの変数を使用する関数から成り立ちます。

 ・定義する場合、"::"(スコープ演算子)を使用し、クラス名::メソッド名で定義します。

【例】
// Sampleクラス宣言
class Sample
{
   
//J メンバ変数の定義 START
   private:
      int x;
      int y;
   
//J メンバ変数の定義 END

   
//J メソッドの定義 START
   public:

      void Set(int a, int b);

      int GetX();
      
      int GetY();
   
//J メソッドの定義 END
};

//J 各メソッドの定義 Start
void Sample::Set(int a, int b ){

  x = a;

  y = b;

}
void Sample::GetX(){

  return x;

}
void Sample::GetY(){

  return y;

}
//J メソッドの定義 END



一覧へ

■3.クラスの実装(インスタンス化)

 ・クラス名を定義することで、オブジェクトが生成されます。

 ・JAVAの場合、new演算子で定義することでオブジェクトが生成されるので注意が必要。
  ※定義だけだと、単なる変数の定義に過ぎない!

【例】
// クラスの実装
int main() {

   //J クラスの定義
   Sample sam1;

   sam1.set( 1, 3 );

   printf("sam1.x = %d\n",sam1.GetX());

   printf("sam1.y = %d\n",sam1.GetY());


   return 0;
}


一覧へ

■4.UML(unified modeling language)定義

 ・UMLとは統一モデリング言語と言われ、オブジェクト指向のシステム開発において、
  成果を定義し、視覚化、文章化するために用いられる言語です。

Sample クラス名
x 変数名1
y 変数名2
set() メソッド名1
GetX() メソッド名2
GetY() メソッド名3

一覧へ

■5.アクセス制限

 ・クラス単位でデータ(変数)を扱うため、他から不正なアクセスを防ぐ役割もあります。

 ・アクセス制限のキーワードとして、以下の示す。【アクセス権】
public すべてのクラスからアクセスが可能
protected クラスの派生クラスからのみアクセス可能
private クラスのオブジェクトからのみアクセス可能

一覧へ

■6.構造体とクラスの違い

 ・一般的に構造体では、メンバー変数で構成されますが、
  クラスでは、メンバー変数とメンバー関数から構成されているという面で異なります。

 ・C++言語において、構造体との違いの一つとして、デフォルトアクセス制限が挙げられます。
  ※C#言語の場合は、構造体は値型、クラスは参照型となり、メモリの持ち方が異なるため注意が必要。

 ・C++言語の場合、クラスはデフォルトでprivate(アクセス不可)であり、
  構造体はデフォルトでpublic(アクセス可)になっています。

一覧へ
 
    
A8ネット
 ・人気度:★★★★★
 ・言わずと知れた人気ASP

 
楽天市場
 ・人気度:★★★★★
 ・誰でも安心、楽天市場で

タワーレコード
 ・人気度:★★★★☆
 ・CD/DVDならタワレコで

 
■ネット証券関連おすすめ
イー・トレード証券
 ・人気度:★★★★★
 ・初心者はこちらから

マネックス証券
 ・人気度:★★★★★
 ・中級者ならこちらから






Copyright(C)2007 得@スキルアップ塾.comAll right reserved.