c++中定义类或对象容易犯的错误



c++中定义类或对象容易犯的错误是什么?有哪些注意事项?

类是一个抽象的东西,你不能为这个类赋值,比如我们不能这样做:int=10;这是错的,int只是一个类而已。例如以下的程序:

#include<iostream>
using namespace std;
class Human //声明了一个Human类
{
public: //类的共有部分,对象可以直接访问的方法或者变量
void setWeigth(int x);//声明了设置身高的方法
void getWeigth();//声明获取身高的方法

private: //类的私有部分,对像不能直接访问,必须通过类的共有函数进行访问
int weigth;
};
void Human::setWeigth(int x)// 定义了设置身高的方法
{
weigth=x;
}
void Human::getWeigth()//定义了一个获取身高的方法
{
cout<<”身高为:\n”<<weigth;
}

int main()
{
Human mike;//定义了对象mike
mike.setWeigth(180);//为对象mike设置身高
mike.getWeigth(); //获取mike的身高


}

我们不能这样做:Human.weigth=100;这是错误的,因为人类是个抽象的名词,它泛指所有的人,你无法给这个抽象的名词赋值,你要做的只能是用这个抽象的名词具体化某个人,例如:

Human tom;这样就具体到了汤姆这个对象上了,我们就可以对汤姆的体重进行赋值了,例如:

tom.weigth=100;

第二点要注意的问题是:对象只能调用类中存在的成员。假如我们在人类这个对象里面设置了走路、跑步、吃饭、说话的功能,那么人类的对象汤姆就可以走路、跑步、吃饭、说话,但是由于我们没有加入睡觉函数,结果汤姆无法睡觉了。