注册 登录
编程论坛 C++教室

成员变量初始化与构造函数的应用

十八太保 发布于 2011-08-03 23:52, 366 次点击
以下为成员变量初始化与构造函数的实例

#include <iostream>
using namespace std;
class demo
{
public:
    demo(){x=0;cout<<"demo的默认构造函数!"<<x<<endl;}
    demo(int i){x=i;cout<<"demo的带一个参数的构造函数!"<<x<<endl;}
    ~demo(){cout<<"demo的默认析构函数"<<x<<endl;}
    int get(){return x;}
    void set(int i){x=i;}
private:
    int x;
};
class rectangle
{
public:
    rectangle(){x=1000;cout<<"rectangle的默认构造函数"<<x<<endl;}
    rectangle(int i,int j,int k):x(i),width(j),length(k)
    {
        cout<<"rectangle的三个参数的构造函数!"<<'/t'<<length.get()*width.get()<<endl;
    }
    ~rectangle(){cout<<"rectangle的默认析构函数"<<'/t'<<x<<endl;}
    int area(){return length.get()*width.get();}
private:
    int x;
    demo length;
    demo width;

};
int main()
{
    rectangle a(100,200,300);
    return 0;
}
3 回复
#2
xinshou19912011-08-04 09:50
你的代码也也用了包含啊!呵呵,有时候包含确实比私有继承好用啊!
#3
icecream2352011-08-04 14:55
什么代码也用了包含?。。。求教
#4
xinshou19912011-08-06 17:41
他在类" rectangle"中定义了demo类的私有对象:demo length;
                                            demo width;
这就是在一个类中包含了另一个类,用作“类型数据”,再定义一个对象,就像:int(demo) length;
                                                                        int (demo)  width;
只不过用另一个类的类名做“数据类型”而已。
1