什么是类
类是C++中允许声明的一种自定义类型,声明语句:
class typename
{
public:
//_publicPart
typename(){}
~typename(){}
protected:
//_protectedPart
private:
//_privatePart
};
其中类型缺省默认private
类里可以放什么
变量、指针、函数、解析/析构函数、友元函数声明
class student
{
public:
int age;
string name;
void push(){}
student(){}
~student(){}
};
继承
继承的用处
设想一下,你拥有全世界所有动物的信息,你想处理他们的数据, 自然想到class
这个东西。假设动物类长这样:
class animal
{
public:
int body_temperature;
int feet_number;
string biological_name;
};
这时,一位世界知名生物学家给你打了个电话:
我们新发现了一个物种——猫,它体温是……它有四只脚,它的生物学学名是……||你想:刚好够用
它的兴趣爱好是……它会喵喵叫,它的生活习性是……||你想:???在动物类里添加这些属性?不行,因为有些动物没有喵喵叫这个属性(据我所知只有猫类和一些人类会这么干)。copy一遍?太长了不好办(上面的只是缩略版)。重打一遍?一个月10000元,你被录用了。
它跳高记录为……米,它身长……厘米,天敌是……,爱吃……||你想:%$#!%&%!#&&(&*吐血……
你要怎么办?——类的继承,从父类里继承元素,在子类中添加新元素!
继承的分类与特点
类型名 | public继承后类型 | protected继承后类型 | private继承后类型 |
---|---|---|---|
公有继承public | public | protected | 禁止继承 |
保护继承protected | protected | protected | 禁止继承 |
私有继承private | private | private | 禁止继承 |
写法
class father
{};
class son: type father
{};
type是继承类型。如:
class animal
{
public:
int body_temperature;
int feet_number;
string biological_name;
};
class cat: public animal
{
public:
string hobby;
bool meow;
string feature;
double jump;
double length;
string fear;
string love_to_eat;
};
简洁明了。