Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define yes std::cout<<"YES\n";
- #define no std::cout<<"NO\n";
- using std::string;
- typedef long long ll;
- typedef unsigned long long ull;
- //template <typename T>
- class abstractEmployee{
- virtual void askForPromotion() = 0;
- };
- class Employee:abstractEmployee{
- protected:
- std::string Name;
- std::string Company;
- int Age;
- public:
- Employee(){}
- Employee(string name, string company, int age){
- Name = name;
- Company = company;
- Age = age;
- }
- void IntroduseYorself(){
- std::cout<<"Name - "<<Name<<'\n';
- std::cout<<"Company - "<<Company<<'\n';
- std::cout<<"Age - "<<Age<<'\n';
- }
- void setName(string name){
- Name = name;
- }
- string getName(){
- return Name;
- }
- void setCompany(string company){
- Company = company;
- }
- string getCompany(){
- return Name;
- }
- void setAge(int age){
- Age = age;
- }
- int getAge(){
- return Age;
- }
- void askForPromotion(){
- if(Age > 30)
- std::cout<<Name<<" got promoted\n";
- else
- std::cout<<Name<<" sorry No promotion for you\n";
- }
- virtual void Work(){
- std::cout<<Name<<" is chaking email,task backlog, perfroming tasks...\n";
- }
- };
- class Developer: public Employee{
- public:
- string FavProgLanguage;
- Developer(string name, string company, int age, string favProgLanguage)
- :Employee(name, company, age)
- {
- FavProgLanguage = favProgLanguage;
- }
- void FixBug(){
- std::cout<<Name<<" fixed bug using "<<FavProgLanguage<<'\n';
- }
- void Work(){
- std::cout<<Name<<" is writing "<<FavProgLanguage<<" code\n";
- }
- };
- class Teacher: public Employee{
- public:
- string Subject;
- Teacher(string name, string company, int age, string subject)
- :Employee(name, company, age)
- {
- Subject = subject;
- }
- void PreapareLesson(){
- std::cout<<Name<<" is prepearing "<<Subject<<" lesson\n";
- }
- void Work(){
- std::cout<<Name<<" is teaching " <<Subject<<'\n';
- }
- };
- int main() {
- Developer d = Developer("Erasyl", "Programer", 18, "C++");
- Teacher t = Teacher("Bakhytzhan","Korkyt ata", 42, "History");
- t.Work();
- d.Work();
- Employee *e1 = &d;
- Employee *e2 = &t;
- e1->Work();
- e2->Work();
- }
Add Comment
Please, Sign In to add comment