C++是在c语言的基础上增长了面向对象编程部分的新语言(已经不新了),因此面向对象部分也是ios
C++的重中之重c++
定义:类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法编程
称为类的成员。函数在一个类中被称为类的成员。函数
我的理解类就是许多类似对象(等下会提到)的一个公用模板,对象则是具体化的类。spa
就像百度百科的定义那样:类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内code
存,而对象是具体的,占用存储空间。类是用于建立对象的蓝图,它是一个定义包括在特定类型对象
的对象中的方法和变量的软件模板。继承
下面是类的一个具体的例子string
class neme//类名{ public://访问修饰符 int a;//类中可调用的数据,被称为类的成员 }
咱们能够看出,一个类是由it
类名,访问修饰符,和类的成员组成
1类名: 类名故名思意,就是指类的名称,用来肯定一个类,便于调用。
2类的成员,由方法和数据构成,方法指一种特殊的函数,是定义在类中的函数,能够调用对象的数据。
3访问修饰符 : 数据封装是面向对象编程的一个重要特色,它防止函数直接访问类类型的内部成
员。类成员的访问限制是经过在类主体内部对各个区域标记 public、private、protected 来指定
的。关键字 public、private、protected 称为访问修饰符。咱们对这三种访问修饰符进行一 一介绍
(1) public 公有成员
首先来看public ,它表明的意义是公有成员,而公有成员在程序中类的外部是能够别访问的,不须要成
员函数去得到公有变量的值(在类中定义在共有区域的变量被称为共有变量)也就是说,咱们能够不受限
制的去调用共有成员,举个例子把。
#include<iostream> #include<cstdio> #include<cstring> #include<string> using namespace std; class name{ public: int a; }; int main(){ name fi;//定义 fi.a=1;//由于a是公有成员,咱们才能作到直接访问修改 cout<<fi.a; return 0; }
这就完成了一次简单的调用
(2) private 私有成员
定义:私有成员变量或函数在类的外部是不可访问的,甚至是不可查看的。只有类和友元函数能够访问私有
成员。默认状况下,类的全部成员都是私有的。例如在下面的类中,width 是一个私有成员,这意味
着,若是您没有使用任何访问修饰符,类的成员将被假定为私有成员:
正如定义所说,私有成员和公有成员区别在于调用,咱们只能经过同一个类中的public成员或者是友元
(之后会提到)来对private进行调用,注意只能是同一个类中的public 调用该类中的private
举个例子
#include<iostream> #include<cstdio> #include<cstring> #include<string> using namespace std; class name{ private: int len;//定义一个私有成员 public: void change(){ len=1; } void write(){ cout<<len; } }; int main(){ name fi; //fi.len=1; 像这样直接调用private会报错。 fi.change();//调用public来对其更改 fi.write();//输出 return 0; }
(3) protected 受保护成员
定义:protected(受保护)成员变量或函数与私有成员十分类似,但有一点不一样,protected(受保
护)成员在派生类(即子类)中是可访问的。
因为涉及到了派生类和继承,因此在这里不过多介绍,之后会更详细的进行介绍。大体理解成能够在
子类中调用的private便可
注意同一类中,private也是能够访问public的
咱们能够发现,struct 的使用和class很是类似,没错,struct正是全是public的简单类
这个对象可不是找的那个对象,(整日面向对象编程却没有对象,可怜) 指类的一个具体实现
其实在上面针对类的使用过程当中咱们已经用到了对象,例如
name fi;
name 是咱们定义的类名,fi 则是定义的对象,fi拥有了类的特称,即类中的成员。正是在类的基础上
咱们才能够定义一个具体的对象
本节内容到此就结束了,之后大概会一周一更吧。