程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> c++的構造函數,構造函數

c++的構造函數,構造函數

編輯:C++入門知識

c++的構造函數,構造函數



我剛學的知識:c++的構造函數。
在在此之前一直都處於迷惑之中,現在怕忘。所以趕緊把他寫下來,用來以後復習,可能有錯誤的地方,請大牛們指出來。
c++知識相對與c來說更加抽象,但真明白了,也就那一回事。這話是學長說的,而我剛把構造函數學會,還在暈著別的地方。
c++的構造函數分為3種:
//一。不帶參的構造函數
class car
{
public:
?car()
?{
??cout << "123" << endl;
?}
?~car()
?{
??cout << "123" << endl;
?}
};
int main()
{
?car a;
?return 0;
}//結果會輸出倆個123
//二。帶參的構造函數
class car
{
 int a;//在c++中如果沒有表明數據類型,系統默認為private型
 int b;
public:
 car(int a,int b)//定義了一個代參的構造函數
 {
  cout << a << b << endl;
 }
 ~car()
 {
  cout << "123" << endl;
 }
 
};
int main()
{
 car a(1,2);
 return 0;
}//結果會輸出倆個123
三。委托構造函數
class clock
{
public:
 clock(int a, int b, int c);
 void timegive(int newH, int newM, int newG);
 void timeshow();
 clock() :clock(0, 0, 0){}//c++中為避免構造函數的多次出現,而且方便修改構造函數的值,故用委托構造函數
private:
 int hour, minute, second;
};
clock::clock(int a, int b, int c) //為類的對象進行初始化//一
{
 hour = a;
 minute = b;
 second = c;
}
void clock::timegive(int newH, int newM, int newG)
{
 hour = newH;
 minute = newM;
 second = newG;
}
void clock::timeshow()
{
 cout << hour << ":" << minute << ":" << second;
}
int main()
{
 clock c1(0, 0, 0);
 clock c2;
 c1.timeshow();
 c2.timeshow();
}
四。復制構造函數

//構造函數的復制函數
class car
{
public:
 car(); //構造函數
 car(const car &s); //    & 引用符    s  復制構造函數開始時先定義一個供引用的對象,將對象car中的數據成員值復制過來
 ~car(); //析構函數
 void print();
private:
 int x;
 int y;//數據成員ptr指向分配的字符串
};
car::car()
{
 int x = 10;
 int y = 12;
}
car::car(const car &s)
{
 x = s.x;
 y = s.y;
 cout << "已完成拷貝" << endl;
}
void car::print()
{
 cout << x << ":"<<y<<endl;
}
int main()
{
 car lol;
 car qwe(lol);
 return 0;
}
//const修飾的數據類型是指常類型,常類型的變量或對象的值是不能被更新的。在學引用時我們會發現引用是二者都會改變

剛剛學習請多指教

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved