1. プロセス指向プログラミング
円の半径が与えられた場合、円周と円の面積を求めます。
半径はrrですr、周長は2 π r 2 \pi r2 π r、面積はπ r 2 \pi r^2πr _2 ;
上記の問題をプロセス指向の方法で解決すると、プログラムを逐次的に実行することしかできず、複数の円の領域が必要な場合は、プロセスコードを繰り返し実行する必要があります。
コード例:
// 包含 C++ 头文件
#include "iostream"
// 使用 std 标准命名空间
// 该命名空间中 , 定义了很多标准定义
using namespace std;
int main()
{
// 定义圆半径 , 周长 , 面积 对应的变量
double r = 0, p = 0, a = 0;
// 提示输入圆半径
cout << "输入圆半径 :" << endl;
// 从命令行标准输入得到的数据 到 变量 r 指示的内存空间中
cin >> r;
cout << "接收到圆半径 :"<< r << endl;
// 计算圆周长
p = 3.14159 * 2 * r;
// 计算圆面积
a = 3.14159 * r * r;
// 打印计算结果
cout << "圆周长为 :" << p << " 圆面积为 : " << a << endl;
// 控制台暂停 , 按任意键继续向后执行
system("pause");
}
実行結果:半径 10 を入力し、対応する周囲長と面積を計算します。
输入圆半径 :
10
接收到圆半径 :10
圆周长为 :62.8318 圆面积为 : 314.159
Press any key to continue . . .
2. iostream の依存関係を表示する
前の章のコードでは、cout と cin という 2 つの標準ストリームが使用されました。
- データを cout 標準出力ストリームに出力します。実現するには cout << 出力コンテンツを使用します。
- cin 標準入力ストリームからメモリにデータを読み取り、cin >> メモリ空間を使用して実現します。
<< は出力ストリームへの出力データ、>> はメモリへの入力データです。
覚え方は次のとおりです。標準フロー cin と cout は常に左側にあり、<< と >> はデータの方向です。
cin と cout は両方とも iostream で定義されており、Visual Studio 2019 のソリューション エクスプローラーのプロジェクトの下にある "外部依存関係" で iostream 標準ストリーム定義を表示できます。
ダブルクリックして「外部依存関係」を展開すると、iostream の完全なコードを表示できます。
3. オブジェクト指向プログラミング
円の半径が与えられた場合、円周と円の面積を求めます。
半径はrrですr、周長は2 π r 2 \pi r2 π r、面積はπ r 2 \pi r^2πr _2 ;
上記の問題を解決するには、オブジェクト指向のアプローチを使用します。
- 総理、抽象化しますが、ここでは円をデータ型として定義しています。
- 次に、円タイプで、メンバー プロパティの半径、円周、および面積を定義します。
- 最後に、circle タイプで、半径に従って円周と面積をそれぞれ計算する 2 つのメンバー関数を定義します。
コード例:
// 包含 C++ 头文件
#include "iostream"
// 使用 std 标准命名空间
// 该命名空间中 , 定义了很多标准定义
using namespace std;
class Circle
{
public:
double r; // 成员变量 半径
double p; // 成员变量 周长
double a; // 成员变量 面积
// 成员方法 设置半径
void setR(double r1)
{
r = r1;
}
// 成员方法 计算圆周长和面积
void caculate()
{
p = 3.14159 * r * 2;
a = 3.14159 * r * r;
}
// 获取圆周长
double getP()
{
return p;
}
// 获取圆面积
double getA()
{
return a;
}
private:
protected:
};
int main()
{
// 定义圆对象
Circle c;
double r;
// 提示输入圆半径
cout << "输入圆半径 :" << endl;
// 从命令行标准输入得到的数据 到 变量 r 指示的内存空间中
cin >> r;
cout << "接收到圆半径 :"<< r << endl;
// 给 圆 对象 c 设置半径
c.setR(r);
// 计算圆 周长 和 面积
c.caculate();
// 打印计算结果
cout << "圆周长为 :" << c.getP() << " 圆面积为 : " << c.getA() << endl;
// 控制台暂停 , 按任意键继续向后执行
system("pause");
}
の結果:
输入圆半径 :
10
接收到圆半径 :10
圆周长为 :62.8318 圆面积为 : 314.159
Press any key to continue . . .
上記のコードでは、Circle クラスが定義されています。
class Circle
{
...
}
現時点では、Circle はデータ型であり、コンパイラはそれにメモリを割り当てません。
Circle オブジェクト c が定義されると、メモリは c オブジェクトのメモリに割り当てられますが、メモリはスタック メモリに割り当てられることに注意してください。
// 定义圆对象
Circle c;
Circle *c オブジェクトを定義する場合は、そのオブジェクトにメモリ (ヒープ メモリ内のメモリ) を割り当てる必要があります。