1. 程式人生 > >網易雲課堂學習筆記——帶引數的建構函式以及類內宣告類外寫函式的方法

網易雲課堂學習筆記——帶引數的建構函式以及類內宣告類外寫函式的方法

#include <iostream>
using namespace std;
//帶引數的建構函式,帶有引數的建構函式在宣告物件的時候一定要把引數傳進來
//或者可以直接在建構函式中初始化,這樣不傳引數也可以
//建構函式之間也可以構成過載關係,只需要用傳入引數的不同來判斷既可
class cstu
{
public:
int age;
char name;
/*cstu(int a,char b='a')
{
age=a;
name=b;
}*/
//知識點1 
cstu(int a,char b='a');//類內宣告.也被稱為函式原型 
int func1();
//知識點2
/*cstu()
{


}存在上面這樣 一個預設的建構函式,但是其關係不是過載關係,而是覆蓋關係
如果寫了自己的建構函式,那麼這個預設的建構函式就“消失”*/
}; 
//以下幾行程式碼將展示建構函式與普通函式在類外定義,類內宣告的寫法
//函式在定義的時候是不可以有初始值的
cstu::cstu(int a,char b)
{
age=a;
name=b;
}


int cstu::func1()
{
cout<<"普通函式也是這樣寫類內宣告,類外定義的"<<endl;
return 0;
}
int main()
{
cstu stu(12);//普通棧區變數
stu.func1();
cstu* stu1=new cstu(13);
cout<<stu.age<<' '<<stu.name<<endl;
cout<<stu1->age<<' '<<stu1->name<<endl;
system("pause");
return 0;


}