
构造函数
文章平均质量分 50
张荣华_csdn
这个作者很懒,什么都没留下…
展开
-
利用构造函数实现累加
题目:求1+2+3+,,,+n,不能使用循环,只能使用构造函数。class Temp{public: Temp() { ++ N; Sum += N; } static void Reset() { N = 0; Sum = 0; } static unsigned int GetSum() { return Sum; }private: static...原创 2018-07-27 00:02:50 · 731 阅读 · 0 评论 -
复制构造函数被调用的3种情况
1.当用类的一个对象去初始化该类的另一个对象时Point a(1,2);Point b(a);2.如果函数的形参是类的对象,调用函数时,进行形参和实参结合时void f(Point a){}int main(){ Point a(1,2); f(a); return 0;}3.如果函数的返回值是类的对象,函数执行完成返回调用...原创 2018-05-24 09:43:19 · 1269 阅读 · 0 评论 -
在构造函数中释放对象本身
写出下面程序的运行结果:class Test{public: Test(){i=10; delete this;} int i;};int main(){ Test *test=new Test(); cout<<test->i<<endl;}...原创 2018-07-08 00:20:51 · 521 阅读 · 0 评论 -
父类构造函数与子类构造函数的关系
指出下面程序中的错误:class Base{private: int baseVar;public: Base(int var){baseVar=var;}};class Derived:public Base{private: int derivedVar;public: Derived(int var){de...原创 2018-07-17 08:54:12 · 1183 阅读 · 0 评论 -
构造函数中的常见错误
class Square { public: Square(int length) { this->length = length; } void setLength(int length) { this->setLength = length; } int area() { return length * length; } private: ...原创 2018-07-14 00:05:12 · 1289 阅读 · 0 评论 -
为什么构造函数不能声明为虚函数?
构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。构造函数不能声明为虚函数的原因是:1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一个对象时,由于对象还未构造成功。编译器无法知道对象 的实际类型,是该类本身,还是该类的一个派生类,或是更深层次的派生类。无法确定。2 虚函数的执行依赖于虚函数表。而虚函数表在构造函数...原创 2018-07-18 00:07:07 · 4235 阅读 · 3 评论 -
虚继承中的构造函数的调用
写出下面程序的输出:class A{public: char c1; A(){c1='A';} A(char c1){this->c1=c1;}};class B:public virtual A{public: char c2;B(){c2='B';}B(char c1,char c2):A(c1){this-&g...原创 2018-07-18 00:06:26 · 1055 阅读 · 1 评论