#include <iostream>
#include<cstring>
using namespace std;
class A
{
private:
char *a;
public:
A(char *aa)
{
a=new char[strlen(aa)+1];//(a)这样处理的意义在于 分配一块长度为strlen(aa)+1的字符型空间,并返回一个地址给a,最后一个空间留给结束字符“\0”
strcpy(a,aa);//(b)数据成员a与形式参数aa的关系 将形式参数aa所指向的字符串复制给数据成员a所指向的字符串
}
~A()
{
delete []a;//这样处理的意义在于: 释放a指向的一块内存
}
void output(){cout<<a<<endl;}
};
int main()
{
A a("good moring, code monkeys!");
a.output();
A b("good afernoon, codes!");
b.output();
return 0;
}
C++ 类成员初始化与析构详解
本文详细解析了C++中类成员初始化和析构的过程,通过具体实例展示了如何正确使用new和delete操作符来分配和释放内存,确保程序资源的有效管理。

被折叠的 条评论
为什么被折叠?



