CPP学习之——定义类或对象容易犯的错误(6.7)
一 概述
类是个抽象的名词,它不是具体的某个个体,因此我们无法对它进行赋值操作。正如我们无法对int这个类型进行赋值一样,如:int=5;这样是错误的,因为int代表的是一个类型,而不是某个具体的变量
二 说明
2.1 类比说明
我们只有用这个类型定义一个具体的变量后,然后才能给这个具体的变量赋值。 如:
1 | int a; |
第一行用int这个类型定义了一个具体的变量,第二行则将一个具体的数字赋给了这个具体的变量。
2.2 类说明
同理,我们也不能给类赋值,如:
1 | Human.weight=100; |
这样是错误的,因为人类是个抽象的名词,它泛指所有的人,你无法给这个抽象的名词赋值,你要做的能是用这个抽象的名词来具体化某一个人,如:
1 | Human Tom; |
这样就具体到了汤姆这个对象上,然后我们就可以对汤姆的体重进行赋值,如:
1 | Tom.weight=100; |
2.3 结论
- 对象只能调用类中存在的成员
2.4 延伸
- 我们在人类这个类中设置了走路、跑步、吃饭、说话的功能,那么人类的对象汤姆可以走路、跑步、吃饭、说话,但是由于我们没有加入睡觉的函数,结果造成汤姆无法睡觉
- 假如你想要汤姆睡觉的话,那么你一定要在人类中添加睡觉这个函数,使其变成所有对象可以拥有的成员函数。
三 代码及结果
3.1 代码
1 | #include<iostream> |
3.2 输出
1 | 我是人,我会走路! |
3.3 结论
- 要使用关键字class来声明一个类
- 要使用类名来定义一个对象
- 不能混淆声明和定义,声明是说明该类是什么,定义则是为一个对象分配内存
- 要使用点运算符来访问类的成员
- 要使用对象与点运算符访问对象的数据成员并给它们赋值
- 不要混淆类和对象,不要给类赋值
- 函数是用来执行一定功能的代码块,成员函数则是只能被类的对象所使用的函数;对象只能使用该类提供的函数,假如类没有提供某个函数,那么对象就不具备该函数。