日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++学习笔记:类的成员函数的声明与定义

發(fā)布時間:2024/4/18 c/c++ 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++学习笔记:类的成员函数的声明与定义 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天學(xué)習(xí)一下類的成員函數(shù),首先講一下常規(guī)的類外的函數(shù)

寫在類的外部的函數(shù)叫做全局函數(shù),不屬于任何的類。
如果寫在類的里面就叫做類的成員函數(shù)

這里注意的是,類的成員函數(shù)如果加了const,就表明該函數(shù)不能對該類的成員數(shù)據(jù)進(jìn)行任何的修改,一旦修改就會報(bào)錯,稱之為常函數(shù)。反之可以修改。如下

public:
?? ?bool same_isbn(const Sales_item &rhs) const//不能修改成員函數(shù),但是可以調(diào)用
?? ?{
?? ??? ?return isbn == rhs.isbn;//isbn就是代表當(dāng)前對象的書號,傳入的isbn是作為參數(shù)的另外一個對象的書號
?? ?}

?

那么類的成員函數(shù)可以定義在類的外部么?
答案是肯定的!!
如果我們想把類的成員函數(shù)定義在外面,則需要事先在類的內(nèi)部聲明好該函數(shù),舉例如下

class Sales_item
{
public:
?? ?std::string isbn;//書號
?? ?unsigned? units_sold;//數(shù)量
?? ?double revenue;//銷售額

public:
?? ?double avr_price() const;//函數(shù)聲明在類的內(nèi)部

?? ?bool same_isbn(const Sales_item &rhs) const//不能修改成員函數(shù),但是可以調(diào)用
?? ?{
?? ??? ?return isbn == rhs.isbn;//isbn就是代表當(dāng)前對象的書號,傳入的isbn是作為參數(shù)的另外一個對象的書號
?? ?}
};

double Sales_item::avr_price() const//定義在類的外部
{
}

??

但是需要注意的是,在類的外部定義類的成員函數(shù)的時候需要在函數(shù)的名稱前加上“::”,再在前面加上類的名稱,其中“::”稱為范圍解析,表示該函數(shù)屬于這個類

一般類的成員函數(shù)聲明都寫在類的內(nèi)部,函數(shù)的定義都寫到外面。這樣會使得類的結(jié)構(gòu)看起來很整潔。

總體的練習(xí)代碼如下:

#include<iostream>
#include<string>
#include<stdlib.h>
using namespace std;
//銷售項(xiàng)目
int sum(int x, int y)
{
?? ?return x + y;
}

class Sales_item
{
public:
?? ?std::string isbn;//書號
?? ?unsigned? units_sold;//數(shù)量
?? ?double revenue;//銷售額

public:
?? ?double avr_price() const;//函數(shù)聲明在類的內(nèi)部

?? ?bool same_isbn(const Sales_item &rhs) const//不能修改成員函數(shù),但是可以調(diào)用
?? ?{
?? ??? ?return isbn == rhs.isbn;//isbn就是代表當(dāng)前對象的書號,傳入的isbn是作為參數(shù)的另外一個對象的書號
?? ?}
};

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");
}

??

最后,給大家一些類的代碼書寫方面的建議,為了代碼整體的美觀和方便類的調(diào)用,因此一般將類的定義都寫在頭文件中,類的成員函數(shù)的聲明在類中,函數(shù)的具體的定義都寫在Cpp源碼文件中,然后包含類定義的頭文件包含進(jìn)來,這樣既美觀易懂,而且也方便添加新的成員函數(shù)。

————————————————
版權(quán)聲明:本文為CSDN博主「wD丶路人」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Peter_Red_Boy/article/details/90004417

總結(jié)

以上是生活随笔為你收集整理的C++学习笔记:类的成员函数的声明与定义的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。