结构体是对数据(变量)的封装。类是对数据(变量)和函数(方法)的封装。
在C语言中,结构体中使用函数则必须使用指针,在C++中结构体可以有函数,但不推荐这样使用(一般都不用)。
类是具有相同属性和行为的对象的抽象,使用类时,需先定义一个类变量,定义类的变量就是对象。定义对象时,会自动调用构造函数(所以构造函数的使用是从定义一个类时开始的)。
class A{
private:int * m_pAge;
public:A(){
m_pAge=new int(100);
}
}
由于new或者malloc后需要手动删除堆空间,由此引入析构函数
在C语言中,结构体中使用函数则必须使用指针,在C++中结构体可以有函数,但不推荐这样使用(一般都不用)。
类是具有相同属性和行为的对象的抽象,使用类时,需先定义一个类变量,定义类的变量就是对象。定义对象时,会自动调用构造函数(所以构造函数的使用是从定义一个类时开始的)。
结构体内的变量默认为public ,而类中变量默认为private类型。
Protected只有自己和子类可以使用,private只有自己可以使用。
类中使用指针时,需要用new分配它自己的空间:class A{
private:int * m_pAge;
public:A(){
m_pAge=new int(100);
}
}
由于new或者malloc后需要手动删除堆空间,由此引入析构函数