Sijacompile hiyo code mkuu, void function inaweza chukua arguments sijakataa, najua void means haireturn anything, ila unaweka function ambayo inachukua argument then haifanyi chochote whats the use of it?
Angalia mfano wa hii function yako
void wekaUmri(int umriWamwansfunzi);
int umri();
argument ni umriWamwanafunzi, sasa hiyo inakwenda wapi kama ndani ya function yenyewe kuna "int umri();" u mean to tell me kwenye C++ mkiweka methods mnadeclare type?? au unataka unambie neno "umri()" ni variable? natumia C,Java,Python ila sijawahi ona variable inakua declared kama method na wala sijawahi ona method inawekewa variable type...
Em fafanua vizuri hiyo code yako inafanya nini mwanzo hadi mwisho, unaandika code mbaya afu unaanza kulalamikia uelewa wa watu, hata kama cjatumia C++ am sure ningeelewa.
Em nipe mfano wa code iliyomo kwenye header file ambayo inatumika kuimplement chochote kilichopo kwenye hii code yako.
Implementation
file la
mwanafunzi.cpp
[URL=https://www.jamiiforums.com/usertag.php?do=list&action=hash&hash=include]#include [/URL] "mwanafunzi.h"
mwanafunzi::mwanafunzi(){
}
mwanafunzi::~mwanafunzi(){
}
void mwanafunzi:: wekajina(string jinLamwanafunzi){
_jina = jinLamwanafunzi;
}
string mwanafunzi::jina(){
return _jina;
}
void mwanafunzi:: wekaUmri(int umriWamwansfunzi){
_umri = umriWamwansfunzi; // hapa nina assign value tuliyopewa na caller function kwenye varible _umri
}
int mwanafunzi::umri(){
return _umri; //hapa na return value ya variable _umri kwa caller fuction
}
void mwanafunzi:: wekaDarasa(string darasa){
_darasa = darasa:
}
string mwanafunzi:: darasa(){
return _darasa;
}
int mwanafunzi::nambaYaaccountYaMwanafunzi(){
akauntYmwanafunzi *akaunti = new akauntYmwanafunzi;
return akaunti->nambaYaAkaunti(_jina);
}
akauntYmwanafunzi * mwanafunzi::balanceKatikaAccount(){
akauntYmwanafunzi *akaunti = new akauntYmwanafunzi;
return akaunti->balance(_jina);
}
Mkuu imenilazimu niandike implementatiin nzima. Naic tutaelewana sasa
Majibu ya maswali yote utayapata ukisoma code hiyo.
Angalia matumizi ya data structure hii kwenye
main.cpp
HII NDIO CLIENT CODE
#include <iostream>
#include "mwanafunzi.h"
int main(int argc, char* argv[]){
//tunatengeneza rekodi za wanafunzi watatu kwenye heap
mwanafunzi *waKwanza = new mwanafunzi;
mwanafunzi *wapili = new mwanafunzi;
mwanafunzi *waTatu = new mwanafunzi;
//tunaweka infomation za wanafunzi husika
waKwanza->wekajina("Matoke_john");
waKwanza->wekaUmri(12);
waKwanza->wekaDarasa(7);
wapili->wekajina("Arusha_james");
wapili->wekaUmri(6);
wapili->wekaDarasa(2);
waTatu->wekajina("jamii_Mtz");
waTatu->wekaUmri(9);
waTatu->wekaDarasa(5);
// tunatengeneza linked list ili iwe rais kuprint rekodi zote
waKwanza->Anayefuata = wapili;
wapili->Anayefuata = waTatu;
waTatu->Anayefuata = NULL;
//Sasa tunaprint rekodi zote katika datastructure zetu. Tunatumia pointer tulizounganisha hapo juu
for(mwanafunzi *i = waKwanza; i != NULL; i = i->Anayefuata){
std::cout <<"Jina la mwanafunzi:- " << i->jina() <<std::endl;
std::cout << "Umri :-" <<i->umri() << std::endl;
std::cout <<"Darasa :-" << i->darasa()<< std::endl;
}
// hizo pointer tutazidelete hapa kabla ya kureturn 0 kwenye operating system.
return 0;
}
Compile and run it, then smile
π