返回 this 的成員函式以及 const過載

2022-05-07 03:15:10 字數 1306 閱讀 5725

1.非常量成員函式返回非常量 *this,常量成員函式返回常量 *this,指向常量物件。

2.過載函式必須引數數量或者型別不同嗎?

答案是:否。還存在一種const過載;

person.h

#pragma once#include

#include

#include

using

namespace

std;

class

person

public

: person() = default; //

讓編譯器自動建立乙個預設建構函式

person(std::string name, std::string

path):name(name),path(path){}

std::

string

getname();

std::

string

getpath();

person& setname(const

string

n)

person& setpath(const

string

p) // const 過載

const person& display(std::ostream& ou)const

// const 過載

person& display(std::ostream&ou)

~person(){}

};void printinfo(person person);

person.cpp#include 

"person.h

"std::

string

person::getname()

std::

string

person::getpath()

void

printinfo(person person)

main.cpp#include 

#include

#include

#include

"person.h

"using

namespace

std;

constexpr

int f(int

a)struct

listnode ;

intmain()

虛函式以及c 成員函式的呼叫原理

class base11 virtual int get public int m i class subclass public base11 virtual int get public int m j int main base11 p 0 subclass q p q int fun nul...

const 成員函式以及const的各種用法詳解

注意 內類宣告和類外定義都需要加上const,否則編譯器會認為不是同乙個函式 includeusing namespace std class point point private double x double y point point double x val,double y val x ...

建構函式以及this

實際上建構函式與普通的函式並沒有區別,所以一般在開發中會使用大駝峰命名規則來區別普通的函式,建構函式實際上是通過返回乙個this值來完成建構函式的建立的.這個rutern this的操作由new這個操作符來完成,當然個人也可以手動來設定return的返回值,手動設定的返回值會覆蓋由new所自動新增的...