classStudent{public:stringname;doubleweight;intage;Student(){};// 解構子~Student(){}Student(intage){this->age=age;this->weight=weight;}};StudentcreateStudent2(){chara=97;returna;}intmain(){Studentstudent8=createStudent2();cout<<"student8 age = "<<student8.age<<endl;return0;}
#include<iostream>usingnamespacestd;classStudent{public:stringname;doubleweight;intage;Student(){};// 解構子~Student(){}// 參數只有一個建構子Student(constchar*name){this->name=name;}// 參數是doubleexplicitStudent(doubleweight){this->weight=weight;}// 參數第2個以後都有預設參數Student(intage,doubleweight=50){this->age=age;this->weight=weight;}};voidprintStudent(Students){cout<<"s的名字:"<<s.name<<endl;}StudentcreateStudent(){return"Alice";}StudentcreateStudent2(){chara=97;returna;}intmain(){// 呼叫一個參數的建構子Studentstudent1("student1");cout<<"student1 name = "<<student1.name<<endl;// 強制轉型// 手動指定轉型過程(例如 Student student2 = Student("student2");,這就是強制轉型Studentstudent2=Student("student2");cout<<"student2 name = "<<student2.name<<endl;// 使用等於(=)指派運算子呼叫只有一個參數的建構子// 自動轉型:"student3" 會被轉型為 Student("student3")。// "student3" 原本是 const char* 型別,不是 Student。// C++編譯器發現 Student 類別有一個能接受 const char* 的建構子,所以它自動執行型別轉型,並呼叫這個建構子來建立 Student 物件// 這種自動進行的轉型稱為自動轉型Studentstudent3="student3";cout<<"student3 name = "<<student3.name<<endl;// 建立student4物件// 呼叫沒有參數的建構子Studentstudent4;// 等號右邊建立匿名物件(呼叫1個參數的建構子),再把匿名物件指派給student4(等號左邊)student4="student4";cout<<"student4 name = "<<student4.name<<endl;// 呼叫建構子參數為doubleStudentstudent5=Student(58.5);cout<<"student5 weight = "<<student5.weight<<endl;// 呼叫建構子第1個參數為int,第2個參數是預設Studentstudent6=18;cout<<"student6 age = "<<student6.age<<",student6 weight = "<<student6.weight<<endl;printStudent("Bill");Studentstudent7=createStudent();cout<<"student7 name = "<<student7.name<<endl;Studentstudent8=createStudent2();cout<<"student8 age = "<<student8.age<<endl;Studentstudent9=(Student)"student9";cout<<"student9 name = "<<student9.name<<endl;return0;}
student1 name = student1
student2 name = student2
student3 name = student3
student4 name = student4
student5 weight = 58.5
student6 age = 18,student6 weight = 50
s的名字:Bill
student7 name = Alice
student8 age = 97
student9 name = student9