标题:大神不要不鸟我啊,构造函数不懂了
只看楼主
A1102029952
Rank: 1
等 级:新手上路
帖 子:18
专家分:8
注 册:2013-6-10
结帖率:100%
已结贴  问题点数:13 回复次数:1 
大神不要不鸟我啊,构造函数不懂了
#include "stdafx.h"
#include<iostream>
using namespace std;
class Base
{
    int i;
public:
    Base(int n)
    {
        cout<<"constructing Base class\n";
        i=n;
    }
    ~Base()
    {
        cout<<"destructing Base class\n";
    }
    void showi()
    {
        cout<<i<<endl;
    }
};
class Derived:public Base
{
    int j;
    Base ob;
public:
    Derived(int n):Base(n),ob(n)
    {
        cout<<"constrycting Derived class"<<endl;
        j=2*n;
    }
    ~Derived()
    {
        cout<<"destructing Derived class"<<endl;
    }
    void showj()
    {
        cout<<j<<endl;
    }
};

int _tmain(int argc, _TCHAR* argv[])
{
    Derived ob(10);
    ob.showi();
    ob.showj();
    return 0;
   
}
这个main里ob的i是从哪里来的?派生类构造函数的Base么?话说派生的成员里还有个基类对象ob里也有个i么,在哪里赋值呢,小白求教,大神不要不鸟我,谢谢
搜索更多相关主题的帖子: include public 
2014-04-07 09:54
hubinyes
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:104
专家分:557
注 册:2014-2-4
得分:13 
Derived(int n):Base(n),ob(n)

派生类调用基类构造函数,Base(n)给i赋值,
派生类也包含基类的成员i的
2014-04-08 10:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-429762-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058668 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved