C++快速入門---物件(8)
阿新 • • 發佈:2018-11-04
C++快速入門---物件(8)
類是一個模型。當為這個類建立例項的時候,也就是物件本身。
類是物件的一個藍圖、模型、模板。
物件是類的一個具體化的例項、實現。
類(class)就像一幅藍圖,它決定一個物件將是什麼樣的(具備什麼樣的屬性、功能)
類由變數和函式組成,物件將使用那些變數來儲存資訊,呼叫那些函式來完成操作。(類:屬性,函式:方法)
作用域解析操作符(::),作用是告訴編譯器這個方法存在於何處,或者說是屬於那一個類
方法的定義通常安排在類宣告的後面。
#include <iostream> class Car { public: std::string color;//顏色 std::string engine;//引擎 float gas_tank;//油缸 unsigned int wheel;//輪子 void fill_tank(float liter); //方法的宣告:方法是"加油",引數是"公升" void running(void);//跑起來 }; void Car::fill_tank(float liter) { gas_tank += liter;//在油缸新增 } int main() { return 0; }
#include <iostream> #include <windows.h> #define FULL_GAS 85 class Car { public: std::string color; std::string engine; unsigned int gas_tank; unsigned int wheel; void setColor(std::string col); void setEngine(std::string eng); void setWheel(unsigned int whe); void fillTank(int liter); int running(void); void warning(void); }; void Car::setColor(std::string col) { color = col; } void Car::setEngine(std::string eng) { engine = eng; } void Car::setWheel(unsigned int whe) { wheel = whe; } void Car::fillTank(int liter) { gas_tank += liter; } int Car::running(void) { std::cout << "我正在以120的時速往前移動。。。越過那高山越過那河。。。\n"; gas_tank--; std::cout << "當前還剩" << 100 * gas_tank / FULL_GAS << "%" << "油量!\n"; return gas_tank; } void Car::warning(void) { std::cout << "WARNING!!" << "還剩" << 100 *gas_tank / FULL_GAS << "%" << "油量!"; } int main() { char i; Car mycar; mycar.setColor("WHITE"); mycar.setEngine("V8"); mycar.setWheel(4); mycar.gas_tank = FULL_GAS; while (mycar.running()) { if(mycar.running() < 10) { mycar.warning(); std::cout << "請問是否需要加滿油再行駛?(Y/N)\n"; std::cin >> i; if ('Y' == i || 'y' == i) { mycar.fillTank(FULL_GAS); } } } }