新手一枚,編寫了乙個簡單的例子來說明c++多型性和鍊錶物件的使用
例子描述:
基類 person(抽象類)
派生類:teacher 、worker
純虛函式: 工資和身份
物件鍊錶來管理一組物件(儲存物件、輸出資訊、刪除物件)
基類和派生類:
class person
//必須提供定義 否則找不到析構函式入口
virtual void setwages(const int)=0;
virtual int getwages() const=0;
virtual void identity() =0;
void setname(const std::string name)
std::string getname()const
person *next;
private:
std::string name;
};class teacher : public person
~teacher(){}
void setwages(const int wage) override
int getwages() const override
void identity()
person* creatlist(int n, int type)
i++;
}p1->next=nullptr;
break;
case worker:
p1=new worker();
h=p1;
while(i>name>>wage;
p1->setname(name);
p1->setwages(wage);
if(i+1next=p2;
p1=p2;
p2=nullptr;
}i++;
}p1->next=nullptr;
break;
default:
break;
}if(!h)
qdebug()<<"head is null";
return h;
}void printlist(person *h)
p1=p2=nullptr;
}void deletelist(person *h)
p1=p2=nullptr;
}
物件多型性
基本概念的解釋。多型性的依賴條件是方法的覆寫!觀察如下的乙個程式 class a class b extends a public class test 輸出結果是 b print 一 方法的多型性 1 方法的過載 同乙個方法名稱會根據傳入引數的型別及個數不同執行不同的方法體 2 方法的覆寫 同乙個...
物件導向特性 C 多型性
1.多型性是物件導向程式設計的關鍵技術之一。2.利用多型性技術,可以呼叫同乙個函式名的函式,實現完全不同的功能。3.c 中有兩種多型性 編譯時的多型性和執行時的多型性。編譯時的多型性 通過函式的過載的運算子的過載來實現 函式過載是根據函式呼叫時所給的實參型別和數量,在程式執行前就知道應該呼叫哪乙個函...
C物件導向與多型性
一 多型性 物件導向的基本思考方式是將資料和處理資料的行為放到一起,降低耦合性。其要點就是不要將資料和處理資料的行為分開 在 中 帶有檢查功能的棧 的示例 就將上限資料,下限資料和棧自身的資料都放在了棧結構體中,結果增加了耦合性。也就是說,僅將資料整合在一起,是絕對無法降低耦合性的。物件導向程式設計...