• Source
    1. /*
    2. Author: Edwin Alexander
    3. Description: Ejemplo de Encapsulamiento
    4. */
    5.  
    6. #include <string>
    7. #include <iostream>
    8. using namespace std;
    9.  
    10. class UniversityStudent {
    11. private:
    12. int id;
    13. string name;
    14. string gender;
    15. string university;
    16. string career;
    17. int numSubjects;
    18.  
    19. public:
    20. UniversityStudent(int _id,string _name,string _gender,string _university,string _career,int _numSubjects){
    21. id = _id;
    22. name = _name;
    23. gender = _gender;
    24. university = _university;
    25. career = _career;
    26. numSubjects = _numSubjects;
    27. };
    28.  
    29. void inscribeSubjects() {
    30. // TODO: implement
    31. }
    32.  
    33. void cancelSubjects() {
    34. // TODO: implement
    35. }
    36.  
    37. void consultRatings() {
    38. // TODO: implement
    39. }
    40.  
    41. void setNumSubjects(int _numSubjects){
    42. if(_numSubjects < 0 || _numSubjects > 10){
    43. cout<<"Numero invalido de materias";
    44. }else{
    45. numSubjects = _numSubjects;
    46. }
    47. }
    48.  
    49. int getNumSubjects(){
    50. return numSubjects;
    51. }
    52.  
    53. int getId() {
    54. return id;
    55. }
    56.  
    57. string getName() {
    58. return name;
    59. }
    60.  
    61. string getGender() {
    62. return gender;
    63. }
    64.  
    65. string getUniversity() {
    66. return university;
    67. }
    68.  
    69. string getCareer() {
    70. return career;
    71. }
    72.  
    73. };
    74.  
    75. int main()
    76. {
    77. //creacion de objeto con memoria dinamica:
    78. UniversityStudent *student = new UniversityStudent(123, "Pepe", "masculino", "UN", "Medicina", 8);
    79. cout<<"Estudiante : "<<student->getName()<<endl;;
    80. student->setNumSubjects(-15);
    81. cout<<endl;
    82. cout<<"Numero de materias : "<<student->getNumSubjects()<<endl;
    83.  
    84. //creacion de objeto de forma convencional:
    85. UniversityStudent student2(345, "Maria", "femenino", "UExternado", "Derecho", 7);
    86. cout<<"Estudiante : "<<student2.getName()<<endl;;
    87. student2.setNumSubjects(9);
    88. cout<<endl;
    89. cout<<"Numero de materias : "<<student2.getNumSubjects();
    90. cin.get();
    91.  
    92. }
    93.