这算函数定义么?该怎么处理

这算函数定义么?#includecstdlib#includeiostreamusingnamespacestdclassBaseClass{private:intnumbe

这算函数定义么?
#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;
}