1、类的定义
class Box{
public:
//类的成员变量
int height;
int width;
int length;
//类的成员函数
void set_length(int l);
int get_volume(void);
};
2、对象
2.1、定义
box1和box2就是Box类的对象。
Box box1;
Box box2;
2.2、对象如何访问类的成员?
box1.height = 1; //访问成员变量
box2.set_height(1); //访问成员函数
3、类的成员函数。
类的成员函数都是在类里面定义,可以在类内部实现,也可以在类外部实现。
类内部实现:
class Box{
public:
//类的成员变量
int height;
int width;
int length;
//类的成员函数
void set_length(int l){
length = l;
}
int get_volume(void){
return height * width * length;
}
};
类外部实现:外部通过"::"来表达该函数是哪个类的成员函数
class Box{
public:
//类的成员变量
int height;
int width;
int length;
//类的成员函数
void set_length(int l);
int get_volume(void);
};
//类的成员函数的实现
void Box::set_length(int l){
length = l;
}
int Box::get_volume(void){
return height * width * length;
}
4、类的访问修饰符:public、private、protected
public(公有成员):在类的外部可以直接通过“.”来获取后修改成员变量的值,或者访问函数。
private(私有成员):不能在类的外部使用,在类和类的成员函数内可以使用,要获取或修改值,可以通过类的成员函数来修改或获取。友元函数也可以访问。友员函数在后面会细说
class Box{
private:
int length;
public:
void set_length(int l);
int get_volume(void);
};
void Box::set_length(int l){
length = l;
}
int main(){
Box box1;
box1.length = 1; //错误:length是私有成员,不能再类的外部使用
box1.set_length(1); //可以通过类的成员函数来使用
return 0;
}
protected(受保护的成员):受保护的成员和private非常像,唯一的一点不同就是protected的成员在类的派生类中是可以访问的。
class Box{
protected:
int length;
};
class BoBo:Box{
public:
void set_length(int l);
};
void BoBo::set_length(int l){
length = l; //正确,length是protected成员,可以在派生类中使用
}
int main(){
BoBo bo1;
bo1.length = 1; //错误:length是protected成员,不能再类的外部使用
bo1.set_length(1);
return 0;
}
|