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

一个函数的小细节问题

飞陨 发布于 2008-03-27 22:34, 711 次点击
第一次用ide自动生成类..生成了一个.h文件和.cpp文件..然后再自动添加了几个类数据成员和一个函数..生成的代码分别为

.h中
#pragma once

class CBox
{
public:
    CBox(double lv = 1.0, double wv = 1.0, double hv = 1.0);
public:
    ~CBox(void);
private:
    double m_Length;
private:
    double m_Width;
private:
    double m_Height;
};


.cpp中
#include "Box.h"

CBox::CBox(double lv, double wv, double hv)
: m_Length(0)
, m_Width(0)
, m_Height(0)
{
    
}

CBox::~CBox(void)
{
}


我的主要问题就是.cpp中
CBox::CBox(double lv, double wv, double hv)
: m_Length(0)
, m_Width(0)
, m_Height(0)

:后接数据对象是什么意思?``是不是把实参的值赋给它们?还是别个的意思?
拜托大家帮忙了
6 回复
#2
sunkaidong2008-03-27 22:37
用()叫初始化...用=叫副本拷贝....
#3
飞陨2008-03-27 22:45
: m_Length(0)
, m_Width(0)
, m_Height(0)
这些是把它们初始化为0?```还是不大明白
#4
sunkaidong2008-03-27 22:50
恩..初始化为0..你可以自己写个小程序测试下
#5
newyj2008-03-27 22:53
是列表初始化 默认初始化
还可以 这样
CBox::CBox(double lv=0, double wv=0, double hv=0){
m_Length=lv;
m_Width=wv;
m_Height=hv;   
}
#6
飞陨2008-03-27 22:56
哦,了解了,谢谢
#7
aipb20072008-03-27 23:34
准确术语是:
构造函数初始化列表
构造函数对数据成员的初始化就发生在这里,而函数体内的所谓“初始化”其实是赋值。
1