c++以前曾水过鸭背式的学过,工作中都是用java,其实一直对c c++有种莫可名状的喜欢,近来有空看了下c++,发现其语法跟java相差还是比较多的,另外有很多灵活的特性,跟java相比有些地方还是有些繁琐。以下从一个c++的类定义及使用看c++语法和特性(不断的完善,每天只写一点)
一个典型的c++的类定义如下,
class CA
{
private:
int a;
public:
CA(int a){
this->a=a;
}
void show(){
cout<<"a="<<a<<endl;
}
int operator ==(CA&ca){
if(ca.a==this->a)
return 1;
return 0;
}
};
1、关于构造函数
构造函数分2类
1-1、普通构造函数
如果不显示定义构造函数,则编译器提供一个无参构造函数
1-2、拷贝构造函数
如果不显示定义拷贝构造函数,则编译器提供一个拷贝构造函数
拷贝构造函数是自动调用的,通常发生在赋值运算,函数返回,以及向函数传递参数时
2、关于非静态变量
c++中的类变量不同于java中的,它们不可在定义时进行赋值
2-1、常量非静态变量
此种变量只能在构造函数初始化列表中进行赋值
2-2、普通非静态变量
可在任何非静态方法中进行赋值,且只能在方法中赋值