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

求助C++类定义引用的问题 高手请进

shonjan 发布于 2010-03-05 17:42, 573 次点击
先定义两个类,如下所示:
class B
{
    public:
        B(int i,int j);
    ...
    private:
        int a,b;
}
class A
{
    public:
        A(int i,int j);
    ...
    private:
        B c;
}
之后引用的时候,下面这个句子是什么意思?请高手指教

A::A(int i,int j):c(i,j){ }

主要是中间那个":"冒号是什么意思??
4 回复
#2
pangding2010-03-07 09:42
构造函数里,要调用 B 类的构造函数。就用这种写法,就是说 c 是用 B 的构造函数生成的。参数是 i, j。
这种语法好像叫成员初始化列表。也属于基本语法,你随便找本讲 C++ 的书应该都有,相关的地方好好看看。
#3
紫ing~2010-03-07 23:11
A::A(int i,int j):c(i,j){ }
--------------------------
这叫做构造函数初始化列表,:后面就是根据实例中的参数初始化类中成员的,因为c是B类型的,所以要调用B的构造函数来进行初始化,所以i,j就对应B构造函数中的形参
#4
shonjan2010-03-09 14:32
回复 2楼 pangding
感谢!!!!!
#5
shonjan2010-03-09 14:33
回复 3楼 紫ing~
感谢!!!!!
好像明白了
1