/*
Author: Edwin Alexander
Description: Ejemplo de Encapsulamiento
*/
#include <string>
#include <iostream>
using namespace std;
class UniversityStudent {
private:
int id;
string name;
string gender;
string university;
string career;
int numSubjects;
public:
UniversityStudent(int _id,string _name,string _gender,string _university,string _career,int _numSubjects){
id = _id;
name = _name;
gender = _gender;
university = _university;
career = _career;
numSubjects = _numSubjects;
};
void inscribeSubjects() {
// TODO: implement
}
void cancelSubjects() {
// TODO: implement
}
void consultRatings() {
// TODO: implement
}
void setNumSubjects(int _numSubjects){
if(_numSubjects < 0 || _numSubjects > 10){
cout<<"Numero invalido de materias";
}else{
numSubjects = _numSubjects;
}
}
int getNumSubjects(){
return numSubjects;
}
int getId() {
return id;
}
string getName() {
return name;
}
string getGender() {
return gender;
}
string getUniversity() {
return university;
}
string getCareer() {
return career;
}
};
int main()
{
//creacion de objeto con memoria dinamica:
UniversityStudent *student = new UniversityStudent(123, "Pepe", "masculino", "UN", "Medicina", 8);
cout<<"Estudiante : "<<student->getName()<<endl;;
student->setNumSubjects(-15);
cout<<endl;
cout<<"Numero de materias : "<<student->getNumSubjects()<<endl;
//creacion de objeto de forma convencional:
UniversityStudent student2(345, "Maria", "femenino", "UExternado", "Derecho", 7);
cout<<"Estudiante : "<<student2.getName()<<endl;;
student2.setNumSubjects(9);
cout<<endl;
cout<<"Numero de materias : "<<student2.getNumSubjects();
cin.get();
}