首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

缺省拷贝构造函数的有关问题

2012-02-12 
缺省拷贝构造函数的问题classB{public:B(){Bvalue99}intBvalue}voidmain(){BbBc(b)intaaab.Bvalue

缺省拷贝构造函数的问题
class   B  
{
    public:
    B(){   Bvalue   =   99;};

    int   Bvalue;
};
void   main()
{
    B   b;
    B   c(b);        
    int   aaa   =   b.Bvalue;
    int   ccc   =   c.Bvalue;
}
说明:在B   c(b);这里.
我没有写上拷贝构造函数   B(const   B   &   CB){   Bvalue   =   CB.Bvalue;}呀.
而书不是说如果有了一个构造函数,那么就不能在调用别的构造函数了???


[解决办法]
楼主看书不仔细,或者拿得是伪书。
如果有了一个构造函数,那么就不会自动生成默认构造函数,但是拷贝构造函数还是会自动生成的。
[解决办法]
如果不显式声明拷贝构造函数,编译器就会自动合成。
可以用
private:
B(B const&);
的方法禁用。

热点排行