Contoh Fungsi Const C++

Contoh Fungsi Const C



Artikel ini memfokuskan pada kata kunci 'const' yang digunakan dengan fungsi dalam C++. Kata kunci 'const' dirujuk sebagai nilai malar yang tidak boleh kami ubah suai semasa pelaksanaan program. Fungsi 'const' dalam C++ ialah fungsi yang ahli datanya dihadkan untuk ditukar dalam kelasnya. Fungsi 'samb' digunakan dengan cekap kerana ia boleh mengelakkan pengubahsuaian yang tidak dijangka pada nilai objek.

Contoh 1: Program Fungsi Ahli Const dalam C++

Di sini, kami mempunyai program ringkas fungsi ahli const:

#include
menggunakan ruang nama std ;
kelas Kelas saya {
int pada satu ;
awam :
Kelas saya ( int n = 0 ) {
pada satu = n ;
}
int getValue ( ) const {
kembali pada satu ;
}
} ;
int utama ( ) {
const Kelas Saya c ( 30 ) ;
MyClass c1 ( 5 ) ;
cout << 'Nombor menggunakan objek c : ' << c. getValue ( ) ;
cout << ' \n Nombor menggunakan objek c1 : ' << c1. getValue ( ) ;
kembali 0 ;
}

Pada mulanya, kami mentakrifkan fail pengepala yang membolehkan aliran input/output program. Kemudian, kami menetapkan kelas 'MyClass' di mana kami mengisytiharkan pembolehubah 'num' dan fungsi ahli fungsi MyClass() dan fungsi getVal(). Di dalam fungsi MyClass(), kami menetapkan parameter 'n' dengan nilai '0'. Kemudian, hujah 'n' diberikan kepada pembolehubah 'num'. Seterusnya, kami memanggil fungsi getVal() dengan kata kunci 'const', menunjukkan bahawa keadaan semasa objek tidak boleh diubah suai pada panggilan fungsi. Fungsi getVal() mengembalikan pembolehubah ahli 'num'.







Akhirnya, kami menjangkau fungsi main(). Di sini, kami mentakrifkan objek 'c' dan 'c1' bagi fungsi MyClass() dan juga memberikan nilai kepada objek ini. Objek 'c' ditetapkan dengan kata kunci 'const', menunjukkan bahawa nilai yang diberikan kepada objek ini tidak boleh diubah suai.



Output fungsi ahli const yang dipanggil oleh objek ditunjukkan dalam berikut. Dengan cara ini, kita boleh menggunakan kata kunci 'const' dengan fungsi ahli dan objek:







Contoh 2: Program Fungsi Ahli Const Di Luar Kelas dalam C++

Kini, kami mempunyai pelaksanaan lain di mana fungsi ahli const ditakrifkan di luar definisi kelas dan menetapkan serta mendapatkan nilai pembolehubah ahli persendirian menggunakan fungsi ahli const.

#include
menggunakan ruang nama std ;

kelas Kelas Baru {
int i ;

awam :
batal set_record ( int ) ;

int dapatkan_rekod ( ) const ;
} ;

batal Kelas Baru :: set_record ( int x ) { i = x ; }
int Kelas Baru :: dapatkan_rekod ( ) const { kembali i ; }

int utama ( )
{
Kelas Baharu c ;
c. set_record ( 10 ) ;
cout << c. dapatkan_rekod ( ) ;

kembali 0 ;
}

Di sini, kami mula-mula menubuhkan kelas, 'NewClass', di mana kami memulakan pembolehubah 'i' yang dirahsiakan. Selepas itu, kami mempunyai kata kunci awam di mana set_record() dan get_record() fungsi ahli ditakrifkan. Fungsi ahli set_record() digunakan untuk menetapkan nilai pembolehubah 'i' dan fungsi get_record() digunakan di sini untuk mengembalikan nilai pembolehubah 'i'. Ambil perhatian bahawa kami menggunakan kata kunci 'const' dengan fungsi ahli get_record() yang mewakilinya sebagai fungsi ahli const dan keadaan objek tidak boleh diubah suai. Selepas itu, kami mempunyai definisi fungsi set_record() untuk menetapkan nilai pembolehubah 'i'.



Begitu juga, kita mempunyai definisi fungsi get_record() untuk mendapatkan semula nilai pembolehubah 'i'. Kemudian, kami menetapkan fungsi main() di mana kami mempunyai pengisytiharan objek 'c' kelas 'NewClass'. Kemudian, 'set_record', fungsi bukan ahli const, dipanggil untuk memberikan nilai kepada pembolehubah 'z'. Seterusnya, kami memanggil fungsi ahli const get_record() untuk mencetak nilai 'i'.

Nilai pembolehubah ahli persendirian dipanggil oleh fungsi ahli const dan ditunjukkan dalam gesaan berikut:

Contoh 3: Program Fungsi Ahli Const Ditakrifkan Di Luar Kelas sebagai Fungsi Bebas

Walau bagaimanapun, kami melaksanakan satu lagi kes fungsi ahli const di mana fungsi ahli dengan kata kunci 'const' dipanggil di luar kelas sebagai fungsi kendiri.

#include
menggunakan ruang nama std ;
kelas Persamaan {
int n1,n2 ;
awam :
batal set_equation ( int x, int dan )
{
n1 = x ;
n2 = dan ;
}
batal tunjukkan_persamaan ( )
{
cout << 'Persamaannya ialah:' << n1 << '+' << n2 << 'b' << endl ;
}
kawan batal memang seronok ( const Persamaan ) ;
} ;
batal memang seronok ( const Persamaan obj )
{
cout << 'Persamaan menggunakan fungsi ialah: ' << obj. n1 << '+' << obj. n2 << 'b' << endl ;
}
int utama ( )
{
Persamaan obj ;
obj. set_equation ( 5 , 8 ) ;
obj. tunjukkan_persamaan ( ) ;
memang seronok ( obj ) ;
}

Di sini, kami mencipta kelas 'Persamaan()' dan kemudian mengisytiharkan pembolehubah 'n1' dan 'n2'. Di sini, kami juga menambah fungsi ahli set_Equation() untuk menetapkan nilai pembolehubah 'n1' dan 'n2'. Fungsi show_Equation() menunjukkan persamaan yang dijana menggunakan pembolehubah ini.

Selepas ini, kami mempunyai pengisytiharan fungsi funIs() yang ditakrifkan menggunakan kata kunci 'rakan'. Kata kunci 'rakan' ini membolehkan kami mengakses ahli persendirian kelas 'Persamaan'. Seterusnya, kami memanggil fungsi rakan 'funIs()' di luar kelas dan masukkan parameter 'obj' kelas 'Persamaan' sebagai const. Pada akhirnya, kami mempunyai fungsi main() di mana kami mengisytiharkan objek kelas 'Persamaan'. Kemudian, kami menetapkan nilai pembolehubah 'n1' dan 'n2' menggunakan fungsi set_Equation(). Pembolehubah 'n1' dan 'n2' digunakan untuk memaparkan nilainya menggunakan fungsi show_Equation(). Akhir sekali, kami memanggil fungsi rakan 'funIs' kelas 'Persamaan' untuk memaparkan persamaan.

Persamaan dan persamaan menggunakan fungsi rakan const dipaparkan pada gesaan:

Contoh 4: Program Fungsi Ahli Const untuk Mengemas kini Nilai dalam C++ (Kes Terburuk)

Program ini menunjukkan senario terburuk fungsi ahli const di mana kami cuba mengubah suai nilai pembolehubah yang dipanggil 'di dalam fungsi ahli const'.

#include
menggunakan ruang nama std ;

kelas Data {
int dalam ;

awam :
batal setValue ( int i ) { dalam = i ; }
int getValue ( ) const
{

++ dalam ;
kembali dalam ;
}

} ;

int utama ( )
{
Data d ;
d. setValue ( dua puluh ) ;
cout << endl << d. getValue ( ) ;

kembali 0 ;
}

Di sini, kita mula-mula membina kelas 'Data' dan mengisytiharkan pembolehubah 'v' dalam kelas. Selepas ini, kami menetapkan kata kunci 'awam' dan kemudian mengisytiharkan fungsi ahli kelas 'setValue()' yang mewakili pembina kelas dan getValue() yang menunjukkan fungsi ahli getter kelas. Fungsi setValue() mengambil pembolehubah 'i' sebagai parameter. Pembolehubah 'i' ini diberikan kepada pembolehubah ahli 'v'.

Selepas ini, kita mempunyai definisi fungsi getValue() di mana kita mendapatkan semula nilai pembolehubah 'v'. Memandangkan fungsi getValue() diisytiharkan dengan kata kunci 'const', mewakili bahawa nilai pembolehubah 'v' tidak boleh dikemas kini dalam apa jua keadaan. Walau bagaimanapun, kami sengaja cuba menaikkan pembolehubah 'v' untuk menukar nilainya. Apabila program mencapai tahap ini, ralat dilemparkan. Akhir sekali, kami mempunyai panggilan fungsi main() di mana kami mentakrifkan objek 'd' kelas 'Data' dan menetapkan nilai '20' untuk objek 'd' ini. Selepas itu, kami memanggil fungsi getValue() untuk mendapatkan nilai 'd' objek.

Gesaan menjana hasil pelaksanaan sebelumnya yang memberikan ralat pada '++v' kerana kami tidak dibenarkan mengubah suai nilai objek fungsi ahli const:

Kesimpulan

Kesimpulannya, kami menyelami fungsi const C++ yang digunakan untuk mengelakkan perubahan tidak sengaja dalam nilai program. Fungsi ahli const dalam C++ ialah fungsi baca sahaja yang pengubahsuaian objek di mana ia dipanggil tidak dibenarkan. Kami juga melaksanakan pelbagai senario fungsi const untuk menunjukkan fungsinya dalam C++.