类,可以理解为用户定义的类型;类用于指定对象的形式,类中包含了数据表示法和用于处理数据的方法;
类的成员,也就是类中的数据和方法称为成员;
类是抽象的笼统的,实例化后的称为对象;
打个比方,一条狗叫旺财,两岁,能跑会跳;我们统称狗为类,狗的属性为“狗”类的成员,具体到那一条狗,比如旺财这条狗,就是对象;
从类中实例化对象分两种方法:
1、从栈中实例化对象
2、从堆中实例化对象
#include#include using namespace std; class Dog { public: string name; int age; void run(){ cout << "小狗的名字是:" << name << "," << "年龄是" << age << endl; } }; int main() { Dog dog1; dog1.name = "旺财"; dog1.age = 2; dog1.run(); Dog *dog2 = new Dog(); if(NULL == dog2){ return 0; } dog2->name = "辣堡"; dog2->age = 1; dog2->run(); delete dog2; dog2 = NULL; return 0; }
第5行,定义了一个Dog类 第7行,访问限定符public(公有的),此外还有private(私有的) protected(受保护的);写这个的目的是为了下面我们 要调用这些成员,不写访问限定符默认是private private 表示该部分内容是私密的, 不能被外部所访问或调用, 只能被本类内部访问; 而 public 表示公开的属性和方法, 外界可以直接访问或者调用。 第8~11行,定义了一个字符串变量name,整型变量age,和一个方法run() 第18行,从栈中实力换一个对象dog1 第19~20行,为dog1的成员变量赋值 第23行,从堆中实例化对象,使用关键字 new 的都是从堆中实例化对象 第24行,从堆中实例化对象需要开辟内存,指针会指向那个内存,如果new没有申请内存成功,p即指向NULL,程序就自动退出, 下面就不执行了,写这个是为了严谨 第31~32行,释放内存,将dog2重新指向NULL



