## 建構函式
建構函式
-
建構函式的作用
建構函式主要用來在建立物件時完成對物件屬性的一些初始化等操作, 當建立
物件時, 物件會自動呼叫它的建構函式。一般來說, 建構函式有以下三個方面
的作用:
■ 給建立的物件建立一個識別符號;
■ 為物件資料成員開闢記憶體空間;
■ 完成物件資料成員的初始化。 -
預設建構函式
當使用者沒有顯式的去定義建構函式時, 編譯器會為類生成一個預設的建構函式,
稱為 “預設建構函式”, 預設建構函式不能完成物件資料成員的初始化, 只能給
物件建立一識別符號, 併為物件中的資料成員開闢一定的記憶體空間。 -
建構函式的特點
無論是使用者自定義的建構函式還是預設建構函式都主要有以下特點:
①. 在物件被建立時自動執行;
②. 建構函式的函式名與類名相同;
③. 沒有返回值型別、也沒有返回值;
④. 建構函式不能被顯式呼叫。
對上一次程式碼新增建構函式
#include <iostream>
using namespace std;
class intarray
{
int* data;
int size;
int getval(int condition);
public:
intarray(int n)
{
size = n;
data = new int[n];
}
void setarray(int len, int* in);
int getSize();
int setVal(int pos, int val);
int getMaxVal();
int getMinVal();
};
int intarray::getMaxVal()
{
int temp = getval(0);
return temp;
}
int intarray::getMinVal()
{
int temp = getval(1);
return temp;
}
void intarray::setarray(int len, int* in)
{
size = len;
data = new int[len];
for (int i = 0; i < len; i++)
data[i] = in[i];
}
int intarray::getSize()
{
return size;
}
int intarray::setVal(int pos, int val)
{
if ((pos < 0) || (pos > size))
return -1;
data[pos] = val;
return 0;
}
int intarray::getval(int condition)
{
int temp = data[0];
for (int i = 0; i < size; i++)
{
if (condition == 0)
{
if (data[i] > temp)
temp = data[i];
}
else
{
if (data[i] < temp)
temp = data[i];
}
}
return temp;
}
int main()
{
int n;
cout << "要比較幾個數:" << endl;
cin >> n;
intarray array(n);
int i, size, v, max, min;
size = array.getSize();
cout << "please input" << size << "numbles:" << endl;
for (i = 0; i < size; i++)
{
cin >> v;
array.setVal(i, v);
}
max = array.getMaxVal();
min = array.getMinVal();
cout << "max value is:" << max << endl;
cout << "min value is:" << min << endl;
return 0;
}
相關文章
- 預設建構函式、引數化建構函式、複製建構函式、解構函式函式
- 建構函式與解構函式函式
- C++ 建構函式和解構函式C++函式
- 類的建構函式和解構函式函式
- JavaScript 建構函式JavaScript函式
- PHP筆記:建構函式與解構函式PHP筆記函式
- 【C++】初始化列表建構函式VS普通建構函式C++函式
- C++中建構函式,拷貝建構函式和賦值函式的詳解C++函式賦值
- 建構函式和類函式
- 初識建構函式函式
- JavaScript Date()建構函式JavaScript函式
- 建構函式建立物件函式物件
- 建構函式詳解函式
- 11-建構函式函式
- 關於建構函式與解構函式的分享函式
- C++入門記-建構函式和解構函式C++函式
- 【譯】JavaScript 工廠函式 vs 建構函式JavaScript函式
- 建構函式與普通函式的區別函式
- JS 建構函式與類JS函式
- Dart建構函式介紹Dart函式
- Java建構函式詳解Java函式
- Java泛型建構函式Java泛型函式
- constructor 未指向建構函式Struct函式
- 回顧Javascript建構函式JavaScript函式
- 預設建構函式和帶預設值的建構函式不能同時存在函式
- 建構函式方式建立正規表示式函式
- 預設建構函式學習函式
- 主建構函式有啥用函式
- swoole 服務的建構函式函式
- EXTJS 建構函式帶引數JS函式
- 深入理解Thread建構函式thread函式
- C++複製建構函式C++函式
- Vue原始碼: 建構函式入口Vue原始碼函式
- js建構函式的繼承JS函式繼承
- 建構函式、原型及原型鏈函式原型
- 建構函式之間的呼叫函式
- 繼承中的建構函式繼承函式
- C++建構函式和解構函式呼叫虛擬函式時使用靜態聯編C++函式