比如在c语言中,
int a = 10
int表示整数类,这是系统自带的一个类,a则是这个类的一个对象,
float,char都是系统自带的类。
面向对象编程
创建自己的类
创建自己的对象
比如:学生类student,对象张三、李四,好比
int a;int b
如何创建自己的类
形式:
class student //这个大括号里面的叫类定义
{
string name; //学生的名字
int age; //学生的年龄
}
类名:student
类里两个内容,年龄名字,叫做类的成员数据,或者叫属性,类比
int a=10
10就是a的属性
到这里为止,类和C语言的结构体还是一样的。
公有与私有
在类的定义里,形式如
class student //这个大括号里的叫类定义
{
public:
string name;
private:
int age;
}
name为公有:类的外部(主函数里或其他类)可以读写name的值
age私有:类的外部看不到
可以只有public:可以将名字和年龄都写在public,初学者可以先不写private,没有private的类相当于结构体。
如何使用一个类
类被定义后,就创建类的对象,形式和int a一样
student aa;
创建一个student类的对象,名字叫aa
aa.age=20;
给aa的属性赋值,和结构体一样。
成员函数的重载
和c语言一样,成员函数也可以重载,不同函数可以有相同的函数名,通过不同的输入参数来识别,如:
class student
{
public:
int age;
string name;
bool set(int a); //两个函数名字一样,但是输入格式不一样
bool set(string a); //这个函数定义略过,name = a; return true;即可
}
如student aa
aa.set(10) 则调用第三个 bool set(int a);
如果aa.set(‘张三’),则调用第四个bool set(string a);