使用new与delete与创建类的大致流程为:
new:动态创建对象
1、申请一块内存
2、调用类的构造函数
delete:释放对象
1、调用类的析构函数
2、释放内存
演示举例:
class Student
{
public:
Student(){}
Student(string name, int grade)
{
this->name = name;
this->grade = grade;
}
private:
string name;
int grade;
};
Student *s = new Student();//动态创建类时调用类的默认构造函数
Student *s = new Student;//动态创建类时调用类的默认构造函数,与new Student();效果一致
Student *s = new Student("jack", 100);//动态创建类时调用类的带参构造函数
※动态申请多个类时,应保证类中有默认构造函数,写法为:Student *s=new Student[10];,释放仍然为delete [] s;