C++程序运行不了

来源:百度知道 编辑:UC知道 时间:2024/06/04 19:43:33
#include<iostream>
using namespace std;
class num
{
public:
num(int n){n=1;}
~num(){}
int get()const{return n;}
void set(int x){n=x;}
void add(){++n;}
void operator++(){++n;}
private:
int n;
};
int main()
{
num i;
cout<<"i:"<<i.get()<<endl;
i.add();
cout<<"i:"<<i.get()<<endl;
++i;
cout<<"i:"<<i.get()<<endl;
return 0;
}

怎么运行不了??/

lack of default constructor:

#include<iostream>
using namespace std;

class num
{
public:
num(){}////////////////default constructor
num(int n){n=1;}
~num(){}
int get()const{return n;}
void set(int x){n=x;}
void add(){++n;}
void operator++(){++n;}
private:
int n;
};

int main()
{
num i;
cout<<"i:"<<i.get()<<endl;
i.add();
cout<<"i:"<<i.get()<<endl;
++i;
cout<<"i:"<<i.get()<<endl;
return 0;
}

++i; 改成i++;
你的操作符重载定义的是后缀++,不是前缀++

构造函数有参数,而你在定义对象i时,没有传递参数,比如:num i(2);这样就好了