#include<iostream> #include<time.h> #include<stdlib.h> using std::cout; using std::cin; using std::endl;class A { public: A(int i) { x = i; } void display() { cout<<x<<endl; } private: int x; };int main() { A a = A(2); a.display(); return 0; } 就像上面那样定义构造函数,当然我是在类里面定义的 加了个有参的构造函数,所以你定义对象时必须要用参数初始化,下面这样分开是错的 A a; a = A(2); 所以你自己要加个不带参的构造函数,比如,默认成员x为0 A() { x = 0; }
根据头文件的定义,头文件的构造函数有参数(除非参数有缺省值),声明就需要参数, 例:Class A{ A(int a;int b); }A:A(int a,int b){ }Class A{ A(int a =0,int b =1); } A:A(){ }可以不写参数
#include<iostream>
#include<time.h>
#include<stdlib.h>
using std::cout;
using std::cin;
using std::endl;class A
{
public:
A(int i)
{
x = i;
} void display()
{
cout<<x<<endl;
}
private:
int x;
};int main()
{
A a = A(2);
a.display();
return 0;
}
就像上面那样定义构造函数,当然我是在类里面定义的
加了个有参的构造函数,所以你定义对象时必须要用参数初始化,下面这样分开是错的
A a;
a = A(2);
所以你自己要加个不带参的构造函数,比如,默认成员x为0
A()
{
x = 0;
}
例:Class A{
A(int a;int b);
}A:A(int a,int b){
}Class A{
A(int a =0,int b =1);
}
A:A(){
}可以不写参数
CMySocket();
virtual ~CMySocket();
CMySocket(CDMLServDlg* pMainWnd);//这是我添加的构造函数
报错啊:error C2629: unexpected 'class CMySocket ('