c++类和对象二

来源:互联网 发布:excel数据监控软件 编辑:程序博客网 时间:2024/06/04 19:59

1、函数重载: 函数名相同,参数列表不同(参数个数或参数类型不同)
void f();
void f(int x);
void f(int x,int y);


   仅仅是返回值不同,不能是函数重载
   void f();
   int f(); // 不可以共存 error


2、一个类中可以有多个构造函数--构造函数的重载,但是必须通过不同的参数列表的区分


3、使用构造函数对对象初始化的两种方式:
(1)在构造函数体内使用赋值语句赋值初始化
Thing(int a,int b,int c){x = a;y = b;z = c;}


(2)使用初始化列表的方式初始化
Thing(int a,int b,int c):x(a),y(b),z(c){}


4、程序中为什么要使用初始化列表
(1)效率高 -- (类类型的成员)
(2)有些类型的成员变量只能使用初始化列表的形式初始化,如const成员、引用成员等等。

示例代码:

#include <iostream>

using namespace std;

class Time

{

private:

    int s;int m;int h;

public:

    Time():h(0),m(0),s(0){}                      //初始化列表

    Time(int a,int b,int c):h(a),m(b),s(c){}     //初始化列表

    void printfTime()

    {

        cout<<h<<" "<<m<<" "<<s<<endl;

    }

};


int main(int argc,const char * argv[]) {

    // insert code here...

    Time t;

    t.printfTime();

    Time t1(9,20,30);

    t1.printfTime();

    return 0;

}