c++的构造和析构

蹲街弑〆低调 提交于 2019-11-27 17:42:53
//文件名ss.h 1 #pragma once
 2 class ss
 3 {
 4 private:
 5     char*p;//利用指针来为p申请对内存
 6     float height;
 7     int age=5;
 8     char sex;
 9 public:
10     ss();
11     void eat();
12     ~ss();
13 };
//文件名ss.cpp 1 #include "ss.h"
 2 #include<iostream>
 3 using std::cout;
 4 using std::endl;//利用命名空间的第三种方式来调用头文件里命名空间std中的方法
 5 ss::ss()
 6 {
 7     p = new char[5];
 8     cout << "构造函数" << endl;
 9 }
10 
11 
12 ss::~ss()
13 {
14     if (p != nullptr){
15         delete[] p;
16         p = nullptr;
17         cout << "析构函数"<<endl;
18     }
19 }
 1 #include<iostream>
 2 #include"ss.h"
 3 using namespace std;
 4 
 5 int main(){
 6     { ss a;
 7     a.eat();//调用类ss中a方法中的eat
 8     }//将析构函数显示出来利用{}作为作用域代码结束后调用
 9     cin.get();
10     return 0;
11 }
12 void ss::eat(){//类成员函数类外定义方法
13     cout << age << endl;//输出类ss中age的值
14 }

构造和析构有很多用法 构造主要作用是初始化形参列表  析构主要作用是回收对象申请内存 防止内存泄漏

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!