对象的内部可以有变量和函数,而结构通常只由各种变量组成
对象使用变量存储信息,调用函数完成操作
如何声明一个类
class MyFirstClass
{
};
一个实例
#include<iostream>
#define FULL_GAS 80
class Car
{
public:
std::string color;
std::string engine;
float gas_tank;
unsigned int wheel;
void setColor(std::string col);
void setEngine(std::string eng);
void setWheel(unsigned int whe);
void fill_tank(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::fill_tank(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<<"%油量\n";
}
int main()
{
char i;
Car mycar,car1;
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】";
std::cin>>i;
if('Y'==i||'y'==i)
{
mycar.fill_tank(FULL_GAS);
}
}
}
return 0;
}