C++构造函数和析构函数的形式是什么?

class Csample

{private:
int a=2.5; (A)
float f ; (B)
public:
CSample( ); (C)
~ CSample( ); (D)
};
错误的地方是A,但是我想问的是,为什么构造函数和析构函数是这样的,这个的意思是定义了一个空的构造函数和析构函数吗?但是大括号去哪了?为什么后面还加了分号?

int a=2.5;
这个错误是因为类型不匹配,和构造函数无关。int a,整形。2.5浮点型,浮点型转整形需要强制类型转换。得写int a = (int)2.5;
CSample( );和~ CSample( );不能算错,因为C++允许你在类定义外面写函数具体实现,而在类定义里只写函数申明。但是光这么写是不行的。

 如果你这么写,下面必然还要写
Csample::Csample( )
{
...
}
和
Csample::~Csample( )
{
...
}
这样才能编译

int a=2.5错了,c++比c语言的类型检查更为严格,需要把浮点型强制转换为整型才行,你的构造函数和析构函数只是在类中声明,实现还需要在类外实现

 class CTest
{
public:
    CTest();
    ~CTest();
public:
    int nData;
};

CTest::CTest()
{
    nData = 10;
}

CTest::~CTest()
{

}

如果你写的是头文件的话,是不能给变量赋值的,只能在构造函数中赋值