一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

对象本质上不过是一种新的数据类型。

类(class)是一个模型(就像是一张蓝图,它决定一个对象将拥有什么样的属性、功能等),且每个类跟变量一样都有一个名字。当我们为这个类创建实例的时候,也就是对象(类的具体化实现)。

类由变量(类里的变量称属性)和函数(类里的函数称方法)组成,对象将使用那些变量来存放信息,调用那些函数来完成操作。同理对象内部有变量和函数,而结构通常只由各种变量构成。

例如std::cout即为使用的是std类中的cout对象;std:string数据类型使用的是std类中的string对象

面相对象编程技术(object-oriented programming)可以说是面向过程技术(procedural programming)的替代品。

面向过程技术关注的是对数据进行处理的过程,面向对象(OOP技术)关注的是对数据进行怎样的处理。

实例1:对象应用造一辆车

 1 #include <iostream>
 2 
 3 #define FULL_GAS 85 
 4 
 5 class Car//让我们来造辆车,定义类Car ,C++允许在类里面声明常量,但不允许对它进行赋值 
 6 {
 7 public:
 8     std::string color;
 9     std::string engine;
10     unsigned int gas_tank;//油缸 
11     unsigned int wheel;
12     
13     void setColor(std::string col);
14     void setEngine(std::string eng);
15     void setWheel(unsigned int whe);
16     void filltank(int liter);//加油
17     int running(void);//
18     void warning(void); 
19 };
20 void Car::setColor(std::string col) 
21 {
22     color = col;
23 }
24 void Car::setEngine(std::string eng)
25 {
26     engine = eng;
27 }
28 void Car::setWheel(unsigned int whe)
29 {
30     wheel = whe;
31 } 
32 void Car::filltank(int liter)//函数(又称方法)的定义 
33 {
34     gas_tank += liter;
35 }
36 int Car::running(void)
37 {
38     std::cout << "我正在以120的时速往前移动。。。\n";
39     gas_tank--;
40     std::cout << "当前还剩 " << 100*gas_tank/FULL_GAS << "%" << "油量!\n";
41     
42     return gas_tank; 
43 } 
44 void Car::warning(void)
45 {
46     std::cout << "WARNING!!" << "\n还剩 " <<  100*gas_tank/FULL_GAS << "%" << "油量!\n";
47 } 
48 
49 int main()
50 {
51     char i;
52     Car mycar, car1;
53     
54     mycar.setColor("WHITE");
55     mycar.setEngine("V8");
56     mycar.setWheel(4);
57     
58     mycar.gas_tank = FULL_GAS;
59     
60     while(mycar.running() )
61     {
62         if(mycar.gas_tank < 10)
63         {
64             mycar.warning();
65             std::cout << "请问是否需要加满油再行驶?(Y/N)\n";
66             std::cin >> i;
67             if( 'Y'== i || 'y' == i)
68             {
69                 mycar.filltank(FULL_GAS); 
70             }
71         }
72         
73     }   
74     return 0;
75 }
posted on 2023-08-18 14:16  一杯清酒邀明月  阅读(25)  评论(0编辑  收藏  举报