cat.h
#pragma once
#include #include using std::string; using std::ostream; using std::istream;
class cat
cat(string name) :name(name) {};
// 過載輸入、輸出操作符
// 若供外部使用,寫非成員函式的樣子 新增友元
// 成員函式的寫法只要乙個左操作符引數
friend ostream& operator<<(ostream& out, cat& cat);
friend istream& operator>>(istream& in , cat& cat);
private:
string name;
};
cat.cpp
#include "cat.h"
ostream & operator<<(ostream & out, cat & cat)
istream & operator >> (istream & in, cat & cat)
過載函式的使用 main.cpp
#include #include #include "cat.h"
using namespace std;
int main()
book.h
#pragma once
#include #include using std::string; using std::ostream; using std::istream;
class book
book(string name, int count) :name(name), count(count) {}
friend book operator+(const book& lb, const book& rb);
friend bool operator==(const book& lb, const book& rb);
friend ostream& operator<<(ostream& out, book& b);
book operator+=(const book&rb);
private:
string name;
int count; // 數量
};book operator+(const book & lb, const book & rb)
book book::operator+=(const book & rb)
inline bool operator==(const book & lb, const book & rb)
ostream & operator<<(ostream & out, book & b)
算術符號過載後的使用
#include #include #include "book.h"
using namespace std;
int main()
下標操作符過載示例
#pragma once
#includeusing namespace std;
class foo ;
int & foo::operator(const size_t index)
inline const int & foo::operator(const size_t index) const
使用解引用操作符與箭頭符號過載,構建智慧型指標
指標計數類 scrptr.h
#pragma once
#include "screenptr.h"
#include "screen.h"
class scrptr
; ~scrptr();
};scrptr::~scrptr()
指標封裝物件 screenptr.h
#pragma once
#include "screen.h"
#include "scrptr.h"
class screenptr
screenptr(const screenptr& o) :ptr(o.ptr)
~screenptr() ;
// 過載解引用操作符 返回安全指標
screen &operator*()
// 過載箭頭操作符 ->右運算元不是表示式,是對應類成員的識別符號
screen *operator->()
private:
scrptr *ptr;
};
C Primer筆記 14 過載操作符與轉換
過載操作符的定義 過載操作符是具有特殊名稱的函式 保留字operator後接需定義的操作符符號。過載操作符具有返回型別和形參表。eg sales item operator const sales item const sales item 過載操作符必須具有乙個類型別運算元 用於內建型別的操作符其...
9 過載操作符
include includeusing namespace std class num void print 也可以在內部提供乙個 號操作符過載,但和全域性 號過載如果呼叫方法一致,就只能存在乙個 num operator num other 過載 是修改自身,不能返回新物件,所以要返回自身引用 ...
C C 過載操作符(二) 過載操作符
用於訪問一組元素中的乙個元素。預設的,陣列是支援下標訪問的。中的下標稱為 索引,key,唯一標誌符 當乙個物件設計用於包含多個元素時,可以過載操作符 比如乙個字串text包含多個元素 每個元素是乙個字串 text txt helloworld char ch text 0 比如在乙個datastor...