文章标题

来源:互联网 发布:灰度共生矩阵 matlab 编辑:程序博客网 时间:2024/06/06 07:38
//1.h   存放类的定义、类成员函数的原型等#pragma once#include<iostream>#include<string>class man   //创建类{private:    std::string name;   //私有成员两个    int year;public:    man();      //默认构造函数    man(const std::string a, int b = 0);    //因为存在重载析构函数,因此不能提供2个默认参数    inline void update()    //成员更新,使用内联函数    {        name = "帅", year = 99;    }    void show();            //显示    ~man();                //析构函数,输出文字,表示析构函数确实运行了};//1.cpp main()函数,赋值,及调用类方法#include<iostream>#include<string>#include"1.h"       //调用包含类定义的头文件1.hint main(){    using namespace std;    man b;      //使用默认构造函数    b.show();   //调用类方法,输出对象的值    {                   //用括号括起来的块,类对象只在块内存在        cout << "这里开始在块内" << endl;        man a("wd",27); //使用自定义析构函数,并不使用默认参数        a.show();        man b("mmmm");  //使用自定义析构函数,并使用默认参数。另外,这里的b隐藏了块外的b        b.show();        b.update();     //更新对象的数据        b.show();    }    cout << "这里在块外了" << endl;    system("pause");    return 0;}//2.cpp 存放类的函数定义#include<iostream>#include"1.h"//因为是类的函数定义,因此要加上作用域解析运算符::man::man()              //默认构造函数,构造函数和析构函数的返回值都不加void{    name = "\"NO NAME\"";   //提供默认值    year = 0;}man::man(const std::string a, int b)    //因为存在重载析构函数,因此不能提供2个默认参数{    name = a;    if (b < 0)    {        std::cout << "人不可能小于0岁,因此,设置为0岁" << std::endl;        b = 0;    }    else year = b;}void man::show()        //显示{    using namespace std;    cout << name << " is " << year << " years old." << endl;}man::~man()        //析构函数,输出文字,表示析构函数确实运行了{    std::cout << name << " end." << std::endl;}
0 0