3、c++のクラス

4199 ワード

c++のクラスとjavaで定義されているように、クラスはユーザー定義の(メタ)データ型であり、クラスにはデータと方法が含まれており、クラスとインスタンスの関係はintとxの関係のような基本データ型であり、xは整形にデジタル関連する操作である.coutとcinはiostreamのインスタンス(javaではインスタンスと方法、c++ではオブジェクトと関数を話しますが、実は同じです.具体的なcoutはostreamで、cinはistreamのインスタンスです).
関数のプロトタイプ:
関数宣言は、関数の戻りタイプ、関数名、パラメータのリストから構成されます.パラメータ・リストには、パラメータ・タイプを含める必要がありますが、特定のタイプのインスタンスを含める必要はありません.この3つの要素は関数プロトタイプと呼ばれ,関数プロトタイプは関数のインタフェースを記述する.
 
関数プロトタイプは、関数定義時の関数ヘッダに類似しており、関数宣言とも呼ばれます.関数を定義する前に呼び出すことができるように、C++は、関数のプロトタイプを説明してから、関数を呼び出すことができることを規定しています.関数定義は、メイン関数の後ろに配置できます.関数プロトタイプは文であるため、関数プロトタイプはセミコロンで終了する必要があります.関数プロトタイプは、関数定義の戻りタイプ、関数名、およびパラメータテーブルから構成され、関数定義の戻りタイプ、関数名、およびパラメータテーブルと一致する必要があります.関数プロトタイプには、パラメータの識別子が含まれている必要があります(関数宣言にはオプション).
 
関数プロトタイプfun(double);関数定義fun(double x);
ライブラリメソッドを使用して、対応するヘッダファイルを追加し、javaと似たように独自のメソッドを書く方法ですが、main()関数の前に関数のプロトタイプを追加します.関数プロトタイプは関数インタフェースを記述し、
 
#include <iostream.h>
int myFirstFunction(int);
int main()
{
	int x;
	x= myFirstFunction(4);
	cout<<"this value : "<<x<<endl;
	cout<<"this value : "<<myFirstFunction(0)<<endl;  //           
	return 0;
}
int myFirstFunction(int x){
return x= x+100;
}

前のいくつかの例からmain関数にはint戻り値がありますが、javaではmainメソッドに戻り値はありません.c++ではvoidをint型と宣言してもいいですが、この戻り値は誰が呼び出すのでしょうか.
 
コンピュータオペレーティングシステムを呼び出しプログラムとして使用することができ、main()の戻り値はオペレーティングシステムに渡され、戻り値が0であることはプログラムの実行に成功したことを示し、0でないことは問題があることを示す.
 
変数のメモリアドレスを表示します.
 
#include <iostream.h>
int main()
{
	int x;
	x= 4;
	cout<<"this parameter memory address : "<<&x<<endl;
	return 0;
}

出力:this parameter memory address:0 x 0018 FF 44
 
 
short int                 2      - 32768 ~ 32767
unsigned int          4       0 ~ 2^32 -1  

 
c++のStringはjavaのStringとは違います.c++自体はStringタイプにパッケージされていない.
c++中char hello[5]=「hello」;//これは間違いを保証します.これは字面の付与方式なので、helloの後ろに0を加えて6文字になります.
char hello[5]={'h','e','l','l','0'}を使用します.間違いを報告しない.しかし、印刷時には2つの漢字が多く出ています.
char hello[6]=「hello」を使用する.間違いを報告しない.
 
Stringをcinで読み込みます.
char x[7];
 
cin>>x;   
このようにhe llooooを入力すると、最初の2文字heしか読めません.helloooプログラムの実行時にエラーが発生した場合.
helloを正しく読み込む方法:cin.getline(hello,7):
#include <iostream.h>
int main()
{
	char hello[7];
	cin.getline(hello,7);//         hello;
	cout<<hello;
	return 0;
}

出力:
he llo
he lloPress any key to continue
実行する場合:
        cout<<"ok";
	char hello[7];
	cin.getline(hello,7);//         hello;
	cout<<"hello"<<hello<<endl;
	return 0;

出力:
OK[戻る]
hello
入力は実行されません.cinはリターンキーを空の文字として入力するため、運転が不明確になり、次のように変更できます.
	cout<<"ok";
	char hello[7];
	cin.get();  //           
	cin.getline(hello,7);//         hello;
	cout<<"hello"<<hello<<endl;
	return 0;

c++のStringはstringです.添加または
#include <iostream>
#include <string>
int main()
{
	using namespace std;
	string s;
	s = "ok";
	cout<<s+"\"skx\"";
	return 0;
}

文字配列の割り当てと追加:ヘッダファイルを追加します.
#include <iostream>
#include <string>
#include <cstring>
int main()
{   
	using namespace std; 
	char a[3]="ok";
	char b[3];
	char c[6] = "  ";
	strcpy(b,"ok");
	strcat(b,c);
	cout<<b<<endl;
	return 0;
}

上のbの長さは3と宣言されており、実際にはより長く印刷され、異常が発生する可能性があります.c++はstrncpyとstrncatの2つの比較的安全な方法を提供しています.