公司名字不说了
题目是使用MFC编写一个程序,要求有很多.大概意思是表达式计算,比如两个表达式一个A:2+x,一个B:3-2x^2,要求输出A-B,A+B,A*B
要求计算空间复杂度和时间复杂度,时间是3个小时楼主当时使用的是vector,界面上用的两listctrl双击添加项
后来面试官来看代码,提出list,map的时间和空间复杂度
然后问了一个题目。。
使用面向对象的思想主要是封装,如果A为vector,B为list,C为map,完成C=A+B需要怎么做
楼主面向对象这边的确很薄弱,而且当时已经懵了
提出重载什么的都被否定强调是封装。。求大神解惑,如果有UML图更好。。面试题C面向对象
题目是使用MFC编写一个程序,要求有很多.大概意思是表达式计算,比如两个表达式一个A:2+x,一个B:3-2x^2,要求输出A-B,A+B,A*B
要求计算空间复杂度和时间复杂度,时间是3个小时楼主当时使用的是vector,界面上用的两listctrl双击添加项
后来面试官来看代码,提出list,map的时间和空间复杂度
然后问了一个题目。。
使用面向对象的思想主要是封装,如果A为vector,B为list,C为map,完成C=A+B需要怎么做
楼主面向对象这边的确很薄弱,而且当时已经懵了
提出重载什么的都被否定强调是封装。。求大神解惑,如果有UML图更好。。面试题C面向对象
看起来表达式是含有一个未知数的算式,就是初中代数里的那种吧,未知数的最高次是乎没做说明。
我觉得vector的思路是对的,第一个元素是常数项,第二个是x项系数,第三个是x^2项系数,依次类推。
然后就是封装,重载+,-,*运算符。表达式存在vector里,封装一下别人就看不到是用vector表示的了。跟MFC没什么关系吧,考察的还是C++面向对象程序设计。输入表达式在控制台输入还顺些。
应该是主要考STL相关的,他考察的时候人机交互界面也占蛮大比例的
封装的目的是为了适用不同的collection类型,题目本身其实蛮简单。。后面的题目不怎么会。。
在贴吧问的结果,里面解释的很好,能学到不少,关注的朋友可以看下