1.10日总结之C++学习笔记-3

·类其实就是一种数据类型,和结构相似。类的成员包括两类,属性(成员变量)和行为(成员函数)。
·成员函数定义的两种方法(可能有多种,觉得这两种比较常用)
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;    //输出18
  cout<<p2.age<<endl;         //输出18
  //析构函数在对象的生命周期结束,即将销毁时自动调用,用于清理内存
}

析构函数:在对象删除前起资源清理作⽤,析构函数与类名相同,并在前面加上“~”,通常情况下析构函数由编译器自动生成,不用特殊处理,但是如果类中使用了new关键字申请了动态分配内存,则必须显示地定义一个析构函数,以释放此空间。

参考书籍《C++从入门到精通》

posted @ 2025-01-10 21:25  小智001  阅读(27)  评论(0)    收藏  举报