我們要用C++語言建立CommissionEmployee與BasePlusCommissionEmployee繼承階層呢,下程式碼
#ifndef BASEPLUS_H
#define BASEPLUS_H
#include <string>
#include "CommissionEmployee.h"
class BasePlusCommissionEmployee: public CommissionEmployee
{
public:
BasePlusCommissionEmployee(const std::string &, const std::string &,
const std::string &, double=0.0, double=0.0, double=0.0);
void setBaseSalary(double);
double getBaseSalary()const;
double earings()const;
void print()const;
private:
double baseSalary;
};
#endif
上面的程式碼中建立了Commission類別所衍生出新的BaseCommissionEmployee類別,在上面的程式碼中,一個BasePlusCommissionEmployee物件是由一種CommissionEmployee類別因為繼承會將CommissionEmployee類別的能力給傳遞下去,但BasePlusCommissionEmployee類別多了一個資料成員baseSalary,冒號:代表繼承關係,public表示公有的,BasePlusCommissionEmployee繼承CommissionEmployee類別除了建構子以外的所有成員,每個衍生類別都要提供自己專屬的建構子,因此BasePlusCommissionEmployee類別的public包含了自己的建構子以及CommissionEmployee類別繼承而來的public成員函示,雖然我們在BasePlusCommissionEmployee類別看不見這些繼承成員之間的程式碼,他仍然是衍生類疊BasePlusCommissionEmployee的一部分
讓使用者輸入10個正數後,輸入要查詢的數字後,顯示輸入整數後最接近的一個,輸入0結束,下程式碼
#include <stdio.h>
int main()
{
int i,n[10],q;
for(=1;i<=10;i++)
{
scanf("%d",&n[i-1]);
}
while(1){
int max_i=-1;
printf("Q: ");
scanf("%d", &q);
if(q==0)
{
break;
}
for(=0;i<10;i++)
{
if(n[i]<=q&&(max_i==-1||n[i]>n[max_i])){
max_i=i;
}
}
if(max_i!=-1){
printf("%d\n", n[max_i]);
}
}
return 0;
}
上面的程式碼就是for裡面的觀念最重要明天繼續講解