从一个c++类定义看c++语法
? ? ? 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、普通非静态变量
? ? ? ? 可在任何非静态方法中进行赋值,且只能在方法中赋值