Я преподаю С++ около 2 лет в старших классах, компьютерных учебных заведениях и т.д. После изучения основ переменных, массивов, структур, функций, я всегда начинаю тематически ориентированные примеры с традиционными примерами, такими как:
class Person {
public:
Person();
~Person();
char* getFirstName(); //we can use std::string instead of char* in optimization part
char* getLastName();
char* getFullName();
int getAge();
bool getGender();
void printFullProfile();
void setFirstName(char*);
void setLastName(char*);
void setAge(unsigned int);
void setGender(bool);
void setGender(char);//f for female, m for male.
private:
char* first_name; //or std::string but i prefer to use pointers in the beginning.
char* last_name;
unsigned int age;
bool gender; //ladies 1(st) , male 0
}
а затем завершает этот класс Person и обучает новым вещам, например, почему методы getter и seters evil и избегают доступа, наследования, полиморфизма, создавая другие классы (например, Student, Сотрудник, Модератор и т.д.), Необходимые навыки и концепции ООП.
[EDIT]: И сделайте эти классы полезными для решения проблем программирования. (Подобно вычислению зарплаты для каждого объекта Employee, учащиеся отмечают среднее значение и многие другие)
другими основными примерами являются класс Vehicle, класс Shape и т.д.
Я хочу знать ваши идеи о том, как (JUST) начать класс ООП.
ожидает больших идей.