1. 类与对象
类的声明与结构,数据成员和成员函数。
成员函数可以在类外被定义。但是必须在类内声明。
封装:protect——允许类成员和派生类成员访问。
构造函数之外,还有一种初始化类成员的方法:参数初始化表。(待补充)
声明带参数的构造函数,除了传递实参之外,也可以制定默认值。
析构函数是在对象生命周期结束时自动执行的。
class ClassText { public: ClassText() { a = 0; b = 0; } ClassText(int a,int b); int sum() { return a+b; } ~ClassText() { cout<<"goodbye"<<endl; } private: int a, b; }; ClassText::ClassText(int a, int b) { this->a = a; this->b = b; } int main() { ClassText ct1 = ClassText(); cout<<ct1.sum()<<endl; ClassText ct2 = ClassText(1,2); cout<<ct2.sum()<<endl; return 0; }
上面例子大概覆盖了前面提到的点。不过默认值尝试了一下,有点问题…………
输出结果为:
0 3 goodbye goodbye
静态参数,类和派生类也共享同一个静态参数。(java也是这样么?)
静态函数没有this指针,非静态函数有this指针。
this指针,基本上当java的this用,区别就在于这里是指针,用->访问成员参数。
类模板,跟函数模版差不多,声明方法如下:
template<class T> class Operate{ ... }
一般情况下,析构函数和构造函数的调用顺序正好相反。(何时调用析构函数待补充)
类的继承,在访问属性上,就高不就低。private>protect>public
虚函数主要是为了利用指针来调用基类中的方法。(详细的内容待补充)
纯虚函数可以理解成是java中的接口。