第10章类和对象

学习完C++和Java等语言许久了,但一直都是即用即学的方式,所以对其中的许多知识仍有遗漏,并且以前一直未能拜读神作C++ Primer Plus,留下了莫大遗憾。希望此次能坚持读下去。一直懒得去查天天挂在嘴边的OOP英文全称是啥(主要是第二个O),特此记录下:Object Oriented Programing.

第十章主要讲解类和对象的使用。首先说一下面向对象编程的特性:封装、继承、多态抽象、代码可重用。(一些面试时要考的)

类包括声明和定义两部分

1.若在声明时对类的成员变量或方法未加访问控制,则默认的为private(注:此处也体现了类的封装特性,即数据隐藏)

2.在声明中直接定义的方法为内联方法。因此最好将复杂的方法的声明和定义分开来写。而一些极为简短的方法声明为内敛方法则可以提高效率。(注:可以将内联方法理解为代码的拷贝,通常的方法在被调用时在内存中只有一份代码段,通过地址寻找,然后传递不同的参数执行,而内联方法相当于在每个调用的地方拷贝了相同的代码,因此免去了地址变换等工作,提高了效率。)

3.为构造函数参数设置默认值可以直接使用无参构造函数。

4.Stack object;object=Stock();//是对object的赋值不是初始化
   Stack object=Stack();//初始化

5.使用{}为对象初始化:Stack object={1,"name"};
                 Stack objects[5]={Stack(1,"name"),};//[1]~[4]使用无参构造函数

6.const函数 void Stock :: Show() const;

7.代码分析:

calss Bakery
{
private : const int Month=12;
        double costs[Month];
        //错误在于未创建对象前,不知道Month的值。改正为将Month声明为static const
}

class Bakery
{
private : enum{Month=12};
        double costs[Month];
        //正确
}
//enum只是一个声明,在类的对象中并不存有此enum.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值