2.1 什么是C++类及基本使用方法 类用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
例如:人是一种类型,拥有年龄、身高、体重、性别等属性。具体一个人是一个对象,例如小明;小明有年龄、身高、体重、性别等属性。小红也是人,所以具有相同属性。
类变量类变量在整个实例化的对象中是公用的。或者可以理解为属性。创建一个人的类,类里面有类变量,使用类变量记录人的年龄、性别、身高等属性。定义一个类使用关键字class,随后是一个类名,在类名后的花括号中编写当前类的内容:
class HumanClass{
public:
char name;
char sex;
int age;
};
以上代码创建了一种类型,这种类型具备name名字、sex性别和age年龄这几个属性,并且这几个属性是公开的;就像你玩游戏一样,游戏角色的名称是看得见的,也可以看见是男性还是女性;其中public就是表示在冒号:后定义的变量都是公开内容。我们字使用这些公开属性时,可以直接创建一个对象后在外部使用。具体使用如下:
#include<iostream>
using namespace std;
class HumanClass{
public:
char name;
char sex;
int age;
};
int main() {
HumanClass xiaoming;
xiaoming.age=11;
xiaoming.sex='N';
xiaoming.name='M';
cout<<"小明的age是:"<<xiaoming.age<<endl;
cout<<"小明的sex是:"<<xiaoming.sex<<endl;
cout<<"小明的name是:"<<xiaoming.name<<endl;
}
以上代码创建一个具体类型很简单,使用HumanClass xiaoming;就可以创建一个HumanClass 这个类型的对象,在这里具体为是xiaoming;这就意味着,xiaoming属于这一个类别,由于age、sex、name都属于公开的属性,那我们就可以去更改他,那么接下来就开始对xiaoming这个类型的属性进行赋值:
xiaoming.age=11;
xiaoming.sex='N';
xiaoming.name='M';
随后我们还可以进行输出:
cout<<"小明的age是:"<<xiaoming.age<<endl;
cout<<"小明的sex是:"<<xiaoming.sex<<endl;
cout<<"小明的name是:"<<xiaoming.name<<endl;
运行程序可以看到结果:
2.2 了解类方法的使用 类方法就是指这个类中定义的函数,这个类具有哪些功能;例如狗有个方法就是发声,汪汪叫;定一个方法用来输出汪汪,模拟狗的叫声。 以下是一个类,名为Dog:
class Dog{
public:
char name;
char sex;
int age;
void jiao(){
cout<<"汪汪叫"<<endl;
}
};
在以上类中一个函数,名为jiao,这个jiao的功能是输出“汪汪叫”。我们首先创建这个类的对象:
Dog wang;
随后定义属性值:
wang.age=11;
wang.sex='N';
wang.name='M';
类的方法使用也非常简单,跟函数使用后的功能一样:
wang.jiao();
最后输出一下内容:
cout<<"小明的age是:"<<wang.age<<endl;
cout<<"小明的sex是:"<<wang.sex<<endl;
cout<<"小明的name是:"<<wang.name<<endl;
完整的代码如下:
#include<iostream>
using namespace std;
class Dog{
public:
char name;
char sex;
int age;
void jiao(){
cout<<"汪汪叫"<<endl;
}
};
int main() {
Dog wang;
wang.age=11;
wang.sex='N';
wang.name='M';
wang.jiao();
cout<<"小明的age是:"<<wang.age<<endl;
cout<<"小明的sex是:"<<wang.sex<<endl;
cout<<"小明的name是:"<<wang.name<<endl;
}
结果如下: