info(int id = 0, int w = 0) :ID(id)
{
weight = w;
}
谁能说一下,上面这个代码与
info(int id = 0, int w = 0)
{
ID=id;
weight = w;
}
有啥区别
有病吧,最讨厌你们这种人了
什么意思?
C++类 的问题
1.类就是对一个事物抽象出来的结果。封装,指两方面含义,一是将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。二是将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便于外界联系,接受外界信息。2.类是面向对象程序设计的核心,它实际是...
c++中类的定义问题
在函数中定义的变量,如果不是用new创建的,那么就是建立在栈空间上的。栈上的变量在函数执行完之后,系统会按照“先进后出”的原则依次删除。如果变量是类的对象,系统会调用类的析构方法。在块中的变量会首先被删除,嵌套的块变量自里而外删除。在本程序中,解释如下:b、c、d是依次定义的,按顺...
关于C++对象访问类成员的问题
类的成员是分级别的:protect,public,private。在类内部定义的函数可以访问任何一个变量,或者调用任何的类内部的函数,但是,如果被定义成private的话,对象是不能调用的,也就是对象只能调用定义为public的数据,如果你确实需要调用某个private的变量,你可以定义一个public的函数来返回这个变量,比如:cla...
关于c++抽象类的问题
C++ 里设计了 “抽象类”目的是用作类似类的“基类”,给派生出的类 同类性质的东西 有同样的名字,但有不同的计算实现的方法。例如,抽象类 叫 平面图形,它有成员函数:面积计算,周长计算,派生出的类,非抽象类:椭圆类,矩形类,三角形类等。抽象类 作为 基类 里 面积计算,周长计算 都是 ...
c++中,在一个类中参数传递中出现的一个问题
p2=((p2.getx()+X),(p2.gety()-Y)); \/\/由问题的地方 因为你没有重载Point类的赋值函数,执行 p1=((p1.getx()-X),(p1.gety()+Y));时,会进行复制构造函数的操作,也就是说系统会现调用构造函数生成一个临时变量(是具体编译平台,有些不生成临时变量),再将临时变量赋给P1,这...
C++类的前置声明问题
因为编码器在读到X obj;时还不知道X的大小,无法为class Y分配内存空间。如果把声明顺序反一下就可以通过了。class Y;class X{ private: Y* ptr; \/\/这里虽然Y还没有声明,但编码器知道这是一个指针,至于指向什么数据可以先不关心。};class Y{ X obj;};int main(){ Y y;return 0;} ...
C++问题求解,在类中为什么不能给数据成员初始化值:
因为类只是定义的类型, 还没有实例化,也就是没有定义类的对象(变量), 没法存储 你可以在初始化列表里进行初始化 , 而构造函数的函数体之内赋值的话, 是在初始化后,--- 至于定义成static的, 这是静态的, 所有对象共享一个副本, 程序开始执行就初始化了, 就算没有定义对象, 也有它的实例, ...
C++关于类的继承多态的问题
首先你的第一个问题,d.vf2();这里涉及到一个C++的原则,子类有父类的同名函数,如果不是虚函数的话,则会“隐藏”父类的函数,不管参数是否一致,都会隐藏!所以你的DD::vf2(int i)这个函数就把BB::vf2()隐藏了,因此DD就不会继承这个函数。至于为什么这么设计,以前貌似看某处B.S的访谈,说...
C++中关于类的问题: class A { B b; }; class B { A a; }; 怎么编译...
A中用B类,但之前没有进行声明! class B ;class A { B b; }; class B { A a; }; 先声明一些B应该就能过了!
C++类的继承的成员初始化问题:
根据C++类的规则:派生类的构造函数只能初始化自己的成员,而不能初始化基类的成员。当然,有时派生类从基类继承了成员,它也可以初始化其从基类继承的成员。这时要用构造函数初始化列表中包含基类名及其从基类继承的成员:即上例中的A(n)。至于你所说的赋值情况,只是在派生类中访问基类的公有成员的...