C++做题笔记
记录学习、使用C++过程中的反思和总结
赴星辰大海
这个作者很懒,什么都没留下…
展开
-
C++之构造函数初始化成员列表的用法、虚继承的原理
C++的构造函数有初始化成员列表这个用法,初学时不明白其存在的必要性,觉得只是使浅拷贝多了种写法。直到写了这道题,才明白初始化成员列表有其必须存在的意义,在一些情况下,只能使用初始化成员列表。通过这道题,我还明白了继承时该怎么写构造函数最稳妥、不会出错,以及发生菱形继承时使用virtual关键字后的效果。题目:(1)定义人员类Person: 公有成员:姓名(Name); 保护成员:性别(Gender),年龄(Age); 构造函数和析构函数 (2) 从人员类Person派生学生记录类S原创 2020-05-17 18:55:14 · 1460 阅读 · 0 评论 -
C++之常引用对象只能调用常成员函数、重载为成员函数和友元函数的区别
近日写了一道题,遇到了新bug,使博主对C++的逻辑严密性有了更深的体会,特写此博客。本文标题是对两个bug的总结,即本文内容分为两部分。 题目如下: 设计一个CShape抽象类,类中包含纯虚函数 从CShape类派生出三角形类CTriangle、矩形类CRectangle和椭圆类CEllipse 使用一个公共接口计算三角形对象、矩形对象和椭圆对象的面积 重载运算符>用于判断两个形状面积的大小,返...原创 2020-05-16 18:18:30 · 1809 阅读 · 3 评论 -
解决C++运算符重载时=和+(或-、*、/、后置自增自减)无法连用
背景题目:定义有理数类(分母不为0的分数,分子分母均为整数)Rational,实现相应操作符的重载。(1)定义私有数据成员:分子int iUp; 分母 int iDown。(2)定义私有成员函数:void Reduce() 和 int Gcd(int l, int r),分别用于有理数的约简和求两个整数的最大公约数。其中,在约简时需要求取分子与分母的最大公约数。(3)定义构造函数,在构...原创 2020-04-20 22:53:57 · 2532 阅读 · 0 评论 -
C++用cin接收不了中文字符、继承的实现原理、菱形继承的解决方法
今天写了一道题,就遇到了3个问题可谓是收获颇丰。话不多说,先上题目:(1)定义人员类Person:公有成员:姓名(Name);保护成员:性别(Gender),年龄(Age);实现构造函数和析构函数(2) 从人员类Person派生学生记录类StudentRecord:添加公有成员:学号(Number),班级(ClassName),添加静态公有成员:学生总人数(TotalCount);...原创 2020-04-06 15:49:44 · 2166 阅读 · 0 评论 -
C++单链表简单实现栈和队列(继承和派生)
先上题目:设计单链表类,并基于单链表类实现栈类和队列类:(1)设计学生信息类StudentRecord,要求包含公有数据成员:string stuName和int stuNo,设计用于输出学生信息的公有成员函数:void print(),输出格式为:Name: stuName, Number: stuNo。(2)设计学生链表的结点类StudentNode,要求包含公有数据成员:Student...原创 2020-04-04 16:09:11 · 2828 阅读 · 0 评论