12.07.2015 Views

C++ - VideoTutorials-bg.com

C++ - VideoTutorials-bg.com

C++ - VideoTutorials-bg.com

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Student::Student(char *str, char * num,long facn, double u) : People(str, num){...}// дефиниция на конструктора за присвояване на StudentStudent::Student(const Student& st) : People(st){facnom = st.facnom;usp = st.usp;}void Student::PrintStudent() const{...}void main(){Student s1("Ivan Ivanov", "8206123422", 42444, 6.0);s1.PrintStudent();Student s2 = s1;s2.PrintStudent();}Забележете, аргументът на обръщението People(st), винициализиращия списък на конструктора за присвояване на класаStudent, е от тип const Student&, а не const People& (В т.17.5 щеразгледаме преобразуването на типовете).Инициализацията на обекта s1 се осъществява чрез конструктораStudent(char*, char*, long, double), а инициализацията на обекта s2 –чрез конструктора за присвояване Student(const Student&). Приизпълнението на инициализацията на s2 отначало се изпълняваконструкторът за присвояване на класа People (с аргумент s1). Врезултат данните name и egn на s1 се инициализират със съответните отобекта s2. След това се изпълнява самият конструктор за присвояванена класа Student, при което полетата facnom и usp на s2 сеинициализират с 42444 и 6 съответно.Друга реализация на конструктора за присвояване на класа Studente:Student::Student(const Student& st) : People(st.name, st.egn){facnom = st.facnom;usp = st.usp;51

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!