2021-05-29 C++ 期末突击









Student类里面定义了两个公共的属性age和name,还有两个构造函数,一个是有参的一个是无参的,当调用无参构造函数时,创建对象时自动给对象赋值20和张三,当调用有参的构w造函数时可以自己动态输入要赋给变量的值。


c++中吧内存分为五个部分,student aa和student *p是两种完全不同的创建对象的方法,创建出来的对象被储存在两个不同的区域,创建原理也不同,所以student aa这种创建方法没法用delete aa把对象的内存释放

加了const,如果在函数体里加入 age = 20; 这一句会报错,防止你意外修改数据











先调用父类的构造函数,如果子类也有的话再用自己的。






隐藏:父类student有一个叫study的方法,本来会被子类postgraduate继承,但是因为我们在子类里又定义了一个同名方法,这种情况就叫做隐藏(用的很少,稍微理解)



重载是编译时决定:比如set(int a)和set(String b),在编译时编译器已经把他们当成两个完全不同的函数,已经决定了要调用哪一个;

多态是运行时决定:由于三个study方法都没有参数,所以编译器在编译时无法判断具体要调用哪一个,就把三个函数都加载进内存里,在内存里形成一张虚函数表,等到具体指针调用时在去寻找对应的函数

纯虚函数:只有声明没有定义

抽象类:可以有不同的方法,但方法中至少要有一个是纯虚函数



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容