• 欢迎访问GanAHE的小创元世纪,技术交流与资源分享,欢迎加入GanAHE的小创元世纪🤪 微信公众号:星辰换日
  • 电影、教程、软件等分享资源请在本站或微信公众号合作平台:【星辰换日】获取。
  • 首页展示个人参与或独立开发的产品,更多功能在建中......🙆🏼天王盖地虎
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏本站吧🥺
  • 注册采用有效的邮箱,有助于及时收到评论回复、最新资源以及活动通知哟~✔🥳
  • 目前在逐渐打通微信小程序与网站之前的间隔~💻🏢

C++分离主函数与类方法、类定义

C/C++ GanAHE 4个月前 (01-08) 16次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

一、目的

将整合在一起的cpp文件分开,为大项目集成模块化做准备。原始代码结构:

#include <iostream>
using namespace std;

class Circle
{
private:
    double r;
    double PI = 3.14159265358;

public:
    //构造函数
    Circle();
    Circle(double radiuas);
    ~Circle();
    double getArea();
    double getCir();
};

//构造函数
Circle::Circle()
{
    this->r = 1;
    cout << "无参构造函数" << endl;
}
Circle::Circle(double radiuas)
{
    this->r = radiuas;
    cout << "有参构造函数" << endl;
}

Circle::~Circle()
{
    cout << "析构释放内存" << endl;
}

double Circle::getArea()
{
    return PI * this->r * this->r;
}

double Circle::getCir()
{
    return 2 * this->PI * this->r;
}

//主函数
int main()
        {
    Circle cir;
    Circle cle(4);
    cout << "第一对象面积:" << cir.getArea() << " 周长:" << cir.getCir() << endl;
    cout << "第二对象面积:" << cle.getArea() << " 周长:" << cle.getCir() << endl;
    cin.get();

        }

二、分离

分离的架构如下:

file

总共三个文件:主函数文件、属性头文件、方法定义文件

头函数:定义类的属性、方法等,注意文件名

#pragma once
//#ifndef _CIRCLE_H
#define _CIRCLE_H

#include<iostream>
using namespace std;

class Circle
{
private:
    double r;
    double PI = 3.14159265358;

public:
    //构造函数
    Circle();
    Circle(double radiuas);
    ~Circle();
    double getArea();
    double getCir();
};

函数定义:先引入头函数定义的属性及方法,随后在一个单独的文件中具体定义方法执行

#include "Circle.h"

using namespace std;

//构造函数
Circle::Circle()
{
    this->r = 1;
    cout << "无参构造函数" << endl;
}
Circle::Circle(double radiuas)
{
    this->r = radiuas;
    cout << "有参构造函数" << endl;
}

Circle::~Circle()
{
    cout << "析构释放内存" << endl;
}

double Circle::getArea()
{
    return PI * this->r * this->r;
}

double Circle::getCir()
{
    return 2 * this->PI * this->r;
}

主函数:引入头函数

#include <iostream>
#include "Circle.h"
using namespace std;

int main()
        {
    Circle cir;
    Circle cle(4);
    cout << "第一对象面积:" << cir.getArea() << " 周长:" << cir.getCir() << endl;
    cout << "第二对象面积:" << cle.getArea() << " 周长:" << cle.getCir() << endl;
    cin.get();

        }

三、执行

正常执行:
file


GanAHE 的小创元世纪, 版权所有丨如未注明 , 均为原创丨本网站采用@BY-NC-SA协议进行授权
转载请注明原文链接:C++分离主函数与类方法、类定义
喜欢 (0)
[WeChat]
分享 (0)
关于作者:
网站的建设与维护者、DGZC的守护者
0 0 评分
都看完了,打个分儿叭~
通知
提醒
0 评论
内部反馈
显示所有评论
0
有什么想法吗,快来留下你的评论吧!x
()
x