C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

データの非表示とカプセル化を使用して学生情報を保持するC++プログラム


データの非表示とカプセル化を使用して学生のデータ型を作成するとします。生徒はfirst_name、last_name、age、classの項目を持っている必要がありますが、これらの変数に直接アクセスすることはできません。変数値を取得および更新するためのget_firstname()set_firstname()、get_age()set_age()などの関数、およびこの形式(age、first_name、last_name、class)で学生の詳細を表示するto_string()関数を定義する必要があります。 )。コンソールから4つのパラメーターを入力として受け取り、定義したsetterメソッドを使用してそれらを設定し、getterメソッドを使用して各項目を表示し、最後にto_string()メソッドを使用します。

したがって、入力が次のような場合

priyam
kundu
16
10

その場合、出力は次のようになります

16
priyam
kundu
10

(16, priyam, kundu, 10)

これを解決するには、次の手順に従います-

  • string型とage型のfirst_name、last_name、integer型のclでクラスを定義します

  • すべての属性のゲッター関数を定義する

  • すべての属性のセッター関数を定義する

  • string-streamオブジェクトを使用してto_string()関数を定義し、出力形式に一致するフォーマットされた文字列を作成します

  • メインの方法から、次のようにします-

  • 各行を読み取り、first_name、last_name、age、clをそれぞれ保存します

  • セッター関数を呼び出して、これらの値をクラスメンバーに設定します

  • getterメソッドを使用してすべての属性を出力します;

  • to_string()関数を使用して、この形式(age、first_name、last_name、cl)で学生情報を表示します。

理解を深めるために、次の実装を見てみましょう-

#include <iostream>
#include <sstream>
using namespace std;
class Student{
    private:
    int age, cl;
    string first_name, last_name;
    public:
    int get_age(){return age;}
    int get_class(){return cl;}
    string get_firstname(){return first_name;}
    string get_lastname(){return last_name;}
    void set_age(int a){age = a;}
    void set_class(int c){cl = c;}
    void set_firstname(string fn){first_name = fn;}
    void set_lastname(string ln){last_name = ln;}
    string to_string(){
        stringstream ss;
        ss << "(" << age << ", " << first_name << ", " << last_name << ", " << cl << ")";
       
        return ss.str();
    }
};
int main() {
    Student stud;
    int age, cl;
    string first_name, last_name;
    cin >> first_name >> last_name >> age >> cl;
    stud.set_age(age);
    stud.set_class(cl);
    stud.set_firstname(first_name);
    stud.set_lastname(last_name);
    cout << stud.get_age() << endl;
    cout << stud.get_firstname() << endl;
    cout << stud.get_lastname() << endl;
    cout << stud.get_class() << endl;
    cout << endl << stud.to_string();
}

入力

priyam
kundu
16
10

出力

16
priyam
kundu
10

(16, priyam, kundu, 10)

  1. C ++プログラムを使用してプログラムを起動するにはどうすればよいですか?

    ここでは、メモ帳などのサードパーティアプリケーションやC++プログラムを使用したものを起動する方法を説明します。このプログラムは非常に単純で、コマンドプロンプトコマンドを使用してこのタスクを実行できます。 system()関数内でアプリケーション名を渡します。これにより、それに応じて開きます。 例 #include <iostream> using namespace std; int main() {    cout >> "Opening Nodepad.exe" >> endl;    sy

  2. 再帰を使用してG.C.Dを検索するC++プログラム

    2つの数値の最大公約数(GCD)は、両方を除算する最大の数値です。 例:45と27の2つの数字があるとします 63 = 7 * 3 * 3 42 = 7 * 3 * 2 So, the GCD of 63 and 42 is 21 再帰を使用して2つの数値のGCDを見つけるプログラムは次のとおりです。 例 #include<iostream> using namespace std; int gcd(int a, int b) {    if (a == 0 || b == 0)    return 0;    els