这算函数定义么?
#include <cstdlib>
#include <iostream>
using namespace std;
class BaseClass {
private:
int number;
public:
BaseClass();
virtual ~BaseClass();
int GetNumber();
};
BaseClass::BaseClass() {
cout < < "Construct \n ";
}
BaseClass::~BaseClass() {
cout < < "Destruct \n ";
}
int BaseClass::GetNumber() {
return number;
}
int main() {
BaseClass A(); // 函数定义?函数内部?没函数体?
system( "PAUSE ");
return 0;
}
[解决办法]
BaseClass A(); 在内部声明了个返回值为BaseClass的函数,什么也没做。
#include <cstdlib>
#include <iostream>
using namespace std;
class BaseClass {
private:
int number;
public:
BaseClass();
virtual ~BaseClass();
int GetNumber();
};
BaseClass::BaseClass() {
cout < < "Construct \n ";
}
BaseClass::~BaseClass() {
cout < < "Destruct \n ";
}
int BaseClass::GetNumber() {
return number;
}
int main() {
BaseClass A(); // ---什么也不做
// BaseClass A; // 调构造函数和析购函数
int B(int a, int b);// ---什么也不做
system( "PAUSE ");
return 0;
}
[解决办法]
BaseClass A(); 最好不要写这样的声明;
BaseClass A;就是了。
要有一个好的编程习惯。
[解决办法]
BaseClass A(int)是调用copy构造函数直接幅值!
#include <cstdlib>
#include <iostream>
using namespace std;
class BaseClass {
private:
int number;
public:
BaseClass();
BaseClass(int m);
virtual ~BaseClass();
int GetNumber();
};
BaseClass::BaseClass() {
cout < < "Construct \n ";
}
//如果加个构造函数
BaseClass::BaseClass(int m){
number = m;
}
//////////////////
BaseClass::~BaseClass() {
cout < < "Destruct \n ";
}
int BaseClass::GetNumber() {
return number;
}
int main() {
BaseClass A(); // ---函数声明,没用
BaseClass B; // 调构造函数和析购函数
int C(int a, int b);// ---函数声明
cout < < C(1,2) < < endl;//加上这句,函数调用
BaseClass D(2);//调用构造函数和析购函数
cout < < D.GetNumber() < < endl;
system( "PAUSE ");
return 0;
}
int C(int a, int b)
{
return a+b;
}
这算函数定义么?该怎么处理
这算函数定义么?#includecstdlib#includeiostreamusingnamespacestdclassBaseClass{private:intnumbe
