·类其实就是一种数据类型,和结构相似。类的成员包括两类,属性(成员变量)和行为(成员函数)。
·成员函数定义的两种方法(可能有多种,觉得这两种比较常用)
1、将类的成员函数定义在类体内,如
class CPerson
{public: short age;short getage(){return age;}};
2、将类的成员函数定义到类外部
class CPerson
{public: short age;short getage();
};short CPerson::getage()
{return age;
}
·类定义完成后,即可通过类名声明对象,语法格式为:类名 对象名
CPerson p;p.age; //可以使用"."运算符引用成员变量和函数p->getage(); //也可以使用“->”运算符引用成员变量和函数,此运算符还可以引用对象数组、对象指针和引用形式的对象
·类的构造函数和析构函数
构造函数:⽤于创建对象时为数据成员赋值,⽬的是初始化对象,构造函数与类名相同。
class CPerson
{public: short age;CPerson(short Iage); //声明构造函数(带参数)CPerson(CPerson & copyPerson); //声明复制构造函数~CPerson(); //声明析构函数char *name;short getage(){return age;}
};
CPerson::CPerson(short Iage,char *Iname) //定义构造函数
{age=Iage;name=new char[2048]; //使用关键词new动态分配一块内存
}
CPerson::CPerson(CPerson & copyPerson) //定义复制构造函数
{age=copyPerson.age;
}
CPerson::~CPerson() //定义析构函数
{delete[]
}
int main()
{CPerson p1(18);CPerson p2(p1)cout<<p1.getage()<<endl; //输出18cout<<p2.age<<endl; //输出18
}
析构函数:在对象删除前起资源清理作⽤,析构函数与类名相同,并在前面加上“~”,通常情况下析构函数由编译器自动生成,不用特殊处理,但是如果类中使用了new关键字申请了动态分配内存,则必须显示地定义一个析构函数,以释放此空间。
参考书籍《C++从入门到精通》