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所自動新增的...