kwrl.net
当前位置:首页 >> C++中的MFC项目中的带参构造函数初始化问题,急急急~ >>

C++中的MFC项目中的带参构造函数初始化问题,急急急~

用一个指针来做吧,在需要的位置new一个对象就可以了,也就是说在.h文件中声明一个这个类的指针,在Init函数中new一个对象,用指针指向它就可以了,在对话框close的时候delete就可以了。

应该是: Name=name; 即把构造函数中的参数传递给类的私有成员:char *Name,; 这样,在主函数中 int main() { Person p("bob");//会调用Person类的带参构造函数,将“bob”作为实参传入,作为p对象的Name }

看你的成员变量类型和继承方式了,公有成员变量和公有继承,直接赋值就行了。私有成员变量,继承之后要在初始化列表中初始化 初始化表的必要性 1) 类中包含常量和引用型的成员变量。必须通过构造函数和初始化表显式地对其进行初始化。 2) 在子类...

C++中不带参数的构造函数和带参数的构造函数是可以同时出现的。 理由如下: C++中发明了一种函数重载技术,也就是允许多个函数名相同,但是参数的个数或者类型不一样。 C++类的构造函数是允许重载的,带参数的构造函数和不带参数的构造函数满足...

要调用带参的构造函数,必须这样做: #include "stdafx.h" class A { public: A(){ax = 0;}; A(int a){ax = a;}; int ax; }; class B { public: /******************/ B(int b) : bx(b) //这样调用 { } B() : bx(0) //...

当你新建一个对象时,GradeBook a;或者GradeBook a("abc");编译器就会自动调用构造函数进行初始化。前者是系统默认的,当你未定义构造函数时,系统就调用默认的构造函数:GradeBook() ;后者则是调用你自己建立的构造函数。你可以利用重载建立N个...

是这样的。 你定义了构造函数,系统就不会用默认的构造函数了。 代码中你定义了自己的带参构造函数,所以系统的默认构造函数就在编译时,不会生成了。 这个就需要自己定义了。 否则的话,Date a;这样使用的时候就会报错。

对于你的Move函数,不会有问题 假设有以下函数 void Point::MoveBy(int dx,int dy) { x += dx; y += dy; } 那有没有倒数第七行,结果就不一样了。 PS,严格点说,你的Move应该叫MoveTo

如果虚基类中定义有带参数的构造函数,并且没有默认定义构造函数,则整个继承结构中,所有直接或间接的派生类必须在构造函数的成员初始化列表中列出虚基类构造函数的调用。参见:http://blog.csdn.net/opk625153475/article/details/7798035

class A {public: A(int value) { }};这就带参数的呀 用的时候 A a(1);A* p = new A(1);

网站首页 | 网站地图
All rights reserved Powered by www.kwrl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com