1.类成员默认的是private,一般为了明确,把private显式地写上了;
2.类与结构体作比较:struct成员默认的是public,结构体class="tags" href="/tags/CunChu.html" title=存储>存储纯粹的数据类型,并且这些数据类型没有私有的特性;
3.位于类定义里面的方法会自动成为inline。如果方法写在类的外面可以自己显式地声明为Inlie;内联函数可以被定义多次,而且必须在每次使用的时候都被定义。所以内联函数一般放在头文件。
4.一个类的每个对象都有自己的class="tags" href="/tags/CunChu.html" title=存储>存储空间,用来class="tags" href="/tags/CunChu.html" title=存储>存储数据成员,但是这些实例共享类的方法,也就是说类的方法只有一个副本;
5。一般情况下,将数据声明为私有,而函数声明为共有;
6.如果自定义了构造函数,则class my_class;会报错。除非将默认的构造函数写出来;
7.析构函数是自动调用的。
8.抽象数据类型:ADT
9.使用构造函数的几种方式:
比如Bank::Bank(class="tags" href="/tags/STRING.html" title=string>string name,class="tags" href="/tags/STRING.html" title=string>string zhanghao,double total)
{
m_costomerName=name;
m_zhanghao=zhanghao;
m_total=total;
}
Bank myBank("zhangying","2008201549",7000.89);//隐式
Bank myBank=Bank("zhangying","2008201549",7000.89);//显式
Bank *myBank=new Bank("zhangying","2008201549",7000.89);
注意:在我的编译器里面,这两种方式调用析构函数的情况不一样————
(1)Bank myBank("zhangying","2008201549",7000.89);//隐式
析构函数在代码执行完才调用
(2)Bank myBank=Bank("zhangying","2008201549",7000.89);//显式
构造函数创建了一个临时对象,将临时对象赋值给myBank,所以在程序开始的时候竟然还调用了一次析构函数。
C++真有趣啊!
10.void show() const;这是什么意思?
意思是保证该成员函数不会修改调用的对象的值。
一般情况下,只要函数不修改被调用对象的值,就应该加上const