#include <iostream> using namespace std; class Student { public: //構造函數,用參數初始化列表初始化 Student(string name1, int age1, float score1):name(name1), age(age1), score(score1){} //析構函數 ~Student(); //普通成員函數 void say(); private: string name; int age; float score; }; Student::~Student() { cout<<name<<"再見"<<endl; } void Student::say() { cout<<name<<"的年齡是 "<<age<<",成績是 "<<score<<endl; } int main() { Student stu1("小明", 15, 90.5f); stu1.say(); Student stu2("李磊", 16, 95); stu2.say(); Student stu3("王爽", 16, 80.5f); stu3.say(); cout<<"main 函數即將運行結束"<<endl; return 0; }
二 .C ++對象的常引用 我們知道,一個變量的引用就是變量的別名。實質上,變量名和引用名都指向同一段內存單元。 如果形參為變量的引用名,實參為變量名,則在調用函數進行虛實結合時,並不是為形參另外開辟一個存儲空間(常稱為建立實參的一個拷貝), 而是把實參變量的地址傳給形參(引用名),這樣引用名也指向實參變量。
#include <iostream> using namespace std; class Time { public: Time(int h,int m,int s):hour(h),minute(m),sec(s){} int hour; int minute; int sec; }; //對象的常引用 void fun( const Time &t) { std::cout<<t.hour<<t.minute<<t.sec; } int main( ) { Time t1(10,13,56); //直接傳遞對象 fun(t1); return 0; }