- // 文件名 ss.h
- #pragma once
- class ss
- {
- private:
- char*p;// 利用指针来为 p 申请对内存
- float height;
- int age=5;
- char sex;
- public:
- ss();
- void eat();
- ~ss();
- };
- // 文件名 ss.cpp
- #include "ss.h"
- #include<iostream>
- using std::cout;
- using std::endl;// 利用命名空间的第三种方式来调用头文件里命名空间 std 中的方法
- ss::ss()
- {
- p = new char[5];
- cout <<"构造函数" << endl;
- }
- ss::~ss()
- {
- if (p != nullptr){
- delete[] p;
- p = nullptr;
- cout << "析构函数"<<endl;
- }
- }
- #include<iostream>
- #include"ss.h"
- using namespace std;
- int main(){
- { ss a;
- a.eat();// 调用类 ss 中 a 方法中的 eat
- }// 将析构函数显示出来利用 {} 作为作用域代码结束后调用
- cin.get();
- return 0;
- }
- void ss::eat(){// 类成员函数类外定义方法
- cout << age << endl;// 输出类 ss 中 age 的值
- }
构造和析构有很多用法 构造主要作用是初始化形参列表 析构主要作用是回收对象申请内存 防止内存泄漏
来源: http://www.bubuko.com/infodetail-3160452.html