## 建構函式
建構函式
-
建構函式的作用
建構函式主要用來在建立物件時完成對物件屬性的一些初始化等操作, 當建立
物件時, 物件會自動呼叫它的建構函式。一般來說, 建構函式有以下三個方面
的作用:
■ 給建立的物件建立一個識別符號;
■ 為物件資料成員開闢記憶體空間;
■ 完成物件資料成員的初始化。 -
預設建構函式
當使用者沒有顯式的去定義建構函式時, 編譯器會為類生成一個預設的建構函式,
稱為 “預設建構函式”, 預設建構函式不能完成物件資料成員的初始化, 只能給
物件建立一識別符號, 併為物件中的資料成員開闢一定的記憶體空間。 -
建構函式的特點
無論是使用者自定義的建構函式還是預設建構函式都主要有以下特點:
①. 在物件被建立時自動執行;
②. 建構函式的函式名與類名相同;
③. 沒有返回值型別、也沒有返回值;
④. 建構函式不能被顯式呼叫。
對上一次程式碼新增建構函式
#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++函式
- 類的建構函式和解構函式函式
- c# tcbs之建構函式呼叫建構函式示例C#函式
- C++ 類建構函式和解構函式C++函式
- JavaScript 建構函式JavaScript函式
- 建構函式、this、static函式
- 虛解構函式(√)、純虛解構函式(√)、虛建構函式(X)函式
- C/C++——建構函式、複製建構函式和解構函式的執行時刻C++函式
- PHP筆記:建構函式與解構函式PHP筆記函式
- 【C++】初始化列表建構函式VS普通建構函式C++函式
- C++語言之結構體、類、建構函式、拷貝建構函式C++結構體函式
- 建構函式建立物件函式物件
- JavaScript Date()建構函式JavaScript函式
- 11-建構函式函式
- 建構函式詳解函式
- javascript Function()建構函式JavaScriptFunction函式
- 【C++】建構函式C++函式
- C++建構函式C++函式
- 3.建構函式函式
- Java的建構函式Java函式
- 拷貝建構函式函式
- 建構函式的作用函式
- 初識建構函式函式
- C++中建構函式,拷貝建構函式和賦值函式的詳解C++函式賦值
- 關於建構函式與解構函式的分享函式
- C++入門記-建構函式和解構函式C++函式
- [C++]顯示呼叫建構函式和解構函式C++函式
- 【譯】JavaScript 工廠函式 vs 建構函式JavaScript函式
- 建構函式與普通函式的區別函式
- C++再議建構函式及複製建構函式深度複製C++函式
- Dart建構函式介紹Dart函式
- 回顧Javascript建構函式JavaScript函式
- Java泛型建構函式Java泛型函式
- Java建構函式詳解Java函式