PDA

View Full Version : سازنده و مخرب



suraty
سه شنبه 01 آذر 1390, 23:45 عصر
سلام
این برنامه ای است که معدل نفر دوم را برمی گرداند.
اگه عدد 3 رو به عنوان عدد n وارد کنیم سازنده 6 مرتبه اجرا میشه. سه مرتبه ی اول که مسلما برای سه شی st و st1 و st2 و سه مرتبه ی بعدی برای شی 3st تابع enter که در حلقه for افتاده.
اما مخرب 9 مرتبه اجرا میشه. چرا؟
به ازای کدوم شی ها؟



#include"iostream.h"

#include"conio.h"

class student{

int stno;

char name[21];

float ave;

public:

student(){ ave=0; cout<<"sazande\n";}

void input(){ cin>>stno>>name>>ave; }

void print(){

cout<<stno<<name<<ave; }

float getave(){ return ave; }

~student(){

cout<<"mokhareb\n";} };

student enter();

int main(){

int n,i;

student st1,st2,st;

cin>>n;

for(i=0;i<n;i++){

st=enter();

cout<<"sery aval\n";

if(st.getave()>st1.getave()){

st2=st1;

st1=st;

}

else if(st.getave()>st2.getave())

st2=st;

}

st2.print();

return 0; }

student enter(){

student st3;

st3.input();

return st3;

}