标签:
创建一个对象时,常常需要作某些初始化的工作,例如对数据成员赋初值。
注意,类的数据成员是不能在声明类时初始化的。如果一个类中所有的成员都是公用的,则可以在定义对象时对数据成员进行初始化。如:
- class Time
- {
- public : //声明为公用成员
- hour;
- minute;
- sec;
- };
- Time t1={14,56,30}; //将t1初始化为14:56:30
- #include <iostream>
- using namespace std;
- class Time
- {
- public :
- Time( )
- {
- hour=0;
- minute=0;
- sec=0;
- }
- void set_time( );
- void show_time( );
- private :
- int hour;
- int minute;
- int sec;
- };
- void Time::set_time( )
- {
- cin>>hour;
- cin>>minute;
- cin>>sec;
- }
- void Time::show_time( )
- {
- cout<<hour<<":"<<minute<<":"<<sec<<endl;
- }
- int main( )
- {
- Time t1;
- t1.set_time( );
- t1.show_time( );
- Time t2;
- t2.show_time( );
- return 0;
- }
- Time::Time( ) //在类外定义构造成员函数,要加上类名Time和域限定符“::”
- {
- hour=0;
- minute=0;
- sec=0;
- }
析构函数(destructor)也是一个特殊的成员函数,它的作用与构造函数相反,它的名字是类名的前面加一个“~”符号。
- #include<string>
- #include<iostream>
- using namespace std;
- class Student //声明Student类
- {
- public :
- Student(int n,string nam,char s ) //定义构造函数
- {
- num=n;
- name=nam;
- sex=s;
- cout<<"Constructor called."<<endl; //输出有关信息
- }
- ~Student( ) //定义析构函数
- {
- cout<<"Destructor called. The num is "<<num<<"."<<endl;
- } //输出有关信息
- void display( ) //定义成员函数
- {
- cout<<"num: "<<num<<endl;
- cout<<"name: "<<name<<endl;
- cout<<"sex: "<<sex<<endl<<endl;
- }
- private :
- int num;
- string name;
- char sex;
- };
- int main( )
- {
- Student stud1(10010,"Wang_li",‘f‘); //建立对象stud1
- stud1.display( ); //输出学生1的数据
- Student stud2(10011,"Zhang_fun",‘m‘); //定义对象stud2
- stud2.display( ); //输出学生2的数据
- return 0;
- }
标签:
原文地址:http://blog.csdn.net/u011392772/article/details/42772697