在现实世界中,常常有属于同一类的对象。比如,你的自行车仅仅是世界上非常多自行车中的一辆。
在面向对象软件中,也有非常多共享同样特征的不同的对象:矩形、雇用记录、视频剪辑等。
能够利用这些对象的同样特征为它们建立一个集合。而这个集合就称为类。类是定义同一类全部对象的变量和方法的蓝图或原型。比如。能够建立一个定义包括当前档位等实例变量的自行车类。
这个类也定义和提供了实例方法(变档、刹车)的实现。实例变量的值由类的每一个实例提供。
因此。当你创建自行车类以后,必须在使用之前对它进行实例化。
当创建类的实例时。就建立了这样的类型的一个对象,然后系统为类定义的实例变量分配内存。然后能够调用对象的实例方法实现一些功能。同样类的实例共享同样的实例方法。
除了实例变量和方法,类也能够定义类变量和类方法。能够从类的实例中或者直接从类中訪问类变量和方法。类方法仅仅能操作类变量 - 不必訪问实例变量或实例方法。
摘抄自百度:点击打开链接
系统在第一次在程序中遇到一个类时为这个类建立它的全部类变量的拷贝 - 这个类的全部实例共享它的类变量。
接下来。看看代码,举一个简单的案例:
1、
#include <iostream>
using namespace std ;
//定义HotDog类
//注意:类没有空间
class HotDog
{
//私有成员
private:
//仅仅有本身成员方法能够訪问或者友员函数能够訪问
int age ; //成员变量
int bbb ;
//公有成员
public:
//成员方法 成员函数
//static void say_hello(void)
static void say_hello(void)
{
int a ;
int b ;
cout << "hello HotDog" << endl ;
}
//普通情况仅仅要是私有成员都需有get set 操作方法
void Set_Age(int age)
{
this->age = age ;
}
int Get_Age(void)
{
return this->age ;
}
//声明某个函数为该类的友员函数
friend int main(void) ;
//受保护成员
protected:
};
int main(void)
{
class HotDog Dog ;
Dog.age = 100 ;
cout << "age : " << Dog.age << endl ;
// Dog.Set_Age(100);
//
// cout << "age : " << Dog.Get_Age() << endl ;
//除非操作方法被声明为static才干够用类名直接调用
HotDog::say_hello();
return 0 ;
}运行结果:a:100
hello HotDog