C++基礎(chǔ)|C++ 構(gòu)造函數(shù)
發(fā)布時(shí)間:2023-12-12 13:55:20
C++ 是面向?qū)ο蟮木幊陶Z言,對(duì)象就是面向?qū)ο蟪绦蛟O(shè)計(jì)的核心。所謂對(duì)象就是真實(shí)世界中的實(shí)體,對(duì)象與實(shí)體是一一對(duì)應(yīng)的,也就是說現(xiàn)實(shí)世界中每一個(gè)實(shí)體都是一個(gè)對(duì)象,它是一種具體的概念。本文主要介紹C++ 構(gòu)造函數(shù)。
1、構(gòu)造函數(shù)
C++ 中的構(gòu)造函數(shù)是一種特殊的方法,當(dāng)創(chuàng)建類的對(duì)象時(shí)會(huì)自動(dòng)調(diào)用該方法。
要?jiǎng)?chuàng)建構(gòu)造函數(shù),請(qǐng)使用與類相同的名稱,后跟括號(hào)():
例如,
#include<iostream>
using namespace std;
class MyClass { // class
public: // 訪問修飾符
MyClass() { // 構(gòu)造函數(shù)
cout << "Hello World!";
}
};
int main() {
MyClass myObj; // 創(chuàng)建MyClass的一個(gè)對(duì)象(這將調(diào)用構(gòu)造函數(shù))
return 0;
}
注意:構(gòu)造函數(shù)與類具有相同的名稱,始終為public
,并且沒有任何返回值。
2、構(gòu)造函數(shù)參數(shù)
構(gòu)造函數(shù)還可以接受參數(shù)(就像常規(guī)函數(shù)一樣),這對(duì)于設(shè)置屬性的初始值很有用。
例如,
#include<iostream>
using namespace std;
class Person { // class
public: // 訪問修飾符
string Name;
string Birthday;
int Age;
Person(string x, string y, int z) { // Constructor with parameters
Name = x;
Birthday = y;
Age = z;
}
};
int main() {
Person obj1("C", "1999-01-01", 1999);
Person obj2("C++", "1999-01-01", 1969);
// Print values
cout << obj1.Name << " " << obj1.Birthday << " " << obj1.Age << "\n";
cout << obj2.Name << " " << obj2.Birthday << " " << obj2.Age << "\n";
return 0;
}
就像函數(shù)一樣,構(gòu)造函數(shù)也可以在類之外定義。首先,在類的內(nèi)部聲明構(gòu)造函數(shù),然后在類的外部定義它,指定類的名稱,后跟作用域解析符::
,再后跟構(gòu)造函數(shù)的名稱(與類相同):
例如,
#include<iostream>
using namespace std;
class Person { // class
public: // 訪問修飾符
string Name;
string Birthday;
int Age;
Person(string x, string y, int z);
};
// 類外的構(gòu)造函數(shù)定義
Person::Person(string x, string y, int z) {
Name = x;
Birthday = y;
Age = z;
}
int main() {
Person obj1("C", "1999-01-01", 1999);
Person obj2("C++", "1999-01-01", 1969);
// Print values
cout << obj1.Name << " " << obj1.Birthday << " " << obj1.Age << "\n";
cout << obj2.Name << " " << obj2.Birthday << " " << obj2.Age << "\n";
return 0;
}
以上為本次所有分享內(nèi)容
- 上一篇:C++ 訪問修飾符
- 下一篇:C++ |類的靜態(tài)成員變量和函數(shù)