C++学习笔记:类的成员函数的声明与定义
发布日期:2021-05-07 00:51:06 浏览次数:23 分类:技术文章

本文共 1797 字,大约阅读时间需要 5 分钟。

今天学习一下类的成员函数,首先讲一下常规的类外的函数

写在类的外部的函数叫做全局函数,不属于任何的类。

如果写在类的里面就叫做类的成员函数

这里注意的是,类的成员函数如果加了const,就表明该函数不能对该类的成员数据进行任何的修改,一旦修改就会报错,称之为常函数。反之可以修改。如下

public:

    bool same_isbn(const Sales_item &rhs) const//不能修改成员函数,但是可以调用
    {
        return isbn == rhs.isbn;//isbn就是代表当前对象的书号,传入的isbn是作为参数的另外一个对象的书号
    }

 

那么类的成员函数可以定义在类的外部么?

答案是肯定的!!
如果我们想把类的成员函数定义在外面,则需要事先在类的内部声明好该函数,举例如下

class Sales_item

{
public:
    std::string isbn;//书号
    unsigned  units_sold;//数量
    double revenue;//销售额

public:

    double avr_price() const;//函数声明在类的内部

    bool same_isbn(const Sales_item &rhs) const//不能修改成员函数,但是可以调用

    {
        return isbn == rhs.isbn;//isbn就是代表当前对象的书号,传入的isbn是作为参数的另外一个对象的书号
    }
};

double Sales_item::avr_price() const//定义在类的外部

{
}

  

但是需要注意的是,在类的外部定义类的成员函数的时候需要在函数的名称前加上“::”,再在前面加上类的名称,其中“::”称为范围解析,表示该函数属于这个类

一般类的成员函数声明都写在类的内部,函数的定义都写到外面。这样会使得类的结构看起来很整洁。

总体的练习代码如下:

#include<iostream>

#include<string>
#include<stdlib.h>
using namespace std;
//销售项目
int sum(int x, int y)
{
    return x + y;
}

class Sales_item

{
public:
    std::string isbn;//书号
    unsigned  units_sold;//数量
    double revenue;//销售额

public:

    double avr_price() const;//函数声明在类的内部

    bool same_isbn(const Sales_item &rhs) const//不能修改成员函数,但是可以调用

    {
        return isbn == rhs.isbn;//isbn就是代表当前对象的书号,传入的isbn是作为参数的另外一个对象的书号
    }
};

double Sales_item::avr_price() const//定义在类的外部

{
}

int main()

{
    Sales_item item1, item2;
    item1.isbn = "45646-78786";
    item1.units_sold = 10;
    item1.revenue = 300;

    item2.isbn = "45646-786";

    item2.units_sold = 2;
    item2.revenue = 70;

    if (item1.same_isbn(item2))

        cout << "这两个是相同的书 ";
    else
        cout << "这两个是不同的书 ";
    system("pause");
}

  

最后,给大家一些类的代码书写方面的建议,为了代码整体的美观和方便类的调用,因此一般将类的定义都写在头文件中,类的成员函数的声明在类中,函数的具体的定义都写在Cpp源码文件中,然后包含类定义的头文件包含进来,这样既美观易懂,而且也方便添加新的成员函数。

————————————————

版权声明:本文为CSDN博主「wD丶路人」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Peter_Red_Boy/article/details/90004417

上一篇:C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
下一篇:centos7设置、查看、删除环境变量的方法

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年04月06日 13时44分24秒