前两天在CSDN里看到这篇文章
http://blog.csdn.net/absurd/archive/2006/06/06/776682.aspx里面有几点疑问,望指教!1. 你对DOC/VIEW模型是如何理解的? 重新翻了下 深入浅出MFC 里讲DOC/VIEW那一章,基本上理解了MFC实现它的方式(通过CDocTemplate把Frame View Document关联起来,当然还有种关联方式用CCreateContext)但对其在实际项目中的用途有点模糊,请谈一下大家在项目开发过程中怎么去把MVC这模型结合到自己项目中来的!以及它具体的应用情况! 在我的理解看来,DOC这一东东就仅仅是在Serialize上(通过CArchive类实现)还有些什么关键性的用途吗? 感觉这东东有点模糊,请详解,谢谢2 大多数应用程序都只需要一种形式去表现,为什么还是要采用DOC/VIEW模型呢?
3. 一般提倡把用户界面和内部实现分离,你知道有几种方式可以把用户界面和内部实现分离吗? 除了这种还有些什么?4. 用new分配的指针,你可以判断指针是否为空吗?
不太明白这意思
char* value = "Stefanie924";
char * data ;
data = new char( strlen(value) +1 );
if( data != NULL)
{
strcpy( data, value );
}
cout<< data <<endl;
这样算判断吗?5. Copy constructor function与Assginment的差别?
拷贝构造是对未建立的对象,而Assginment是对已存在的对象(先delete原有对象所有的资源,然后再copy constructor ),
如CString str = new CString("Test");
CStirng strTest = str; //此处为copy sonstructor而非assginment
理解没错吧,还有些什么差别,请赐教
http://blog.csdn.net/absurd/archive/2006/06/06/776682.aspx里面有几点疑问,望指教!1. 你对DOC/VIEW模型是如何理解的? 重新翻了下 深入浅出MFC 里讲DOC/VIEW那一章,基本上理解了MFC实现它的方式(通过CDocTemplate把Frame View Document关联起来,当然还有种关联方式用CCreateContext)但对其在实际项目中的用途有点模糊,请谈一下大家在项目开发过程中怎么去把MVC这模型结合到自己项目中来的!以及它具体的应用情况! 在我的理解看来,DOC这一东东就仅仅是在Serialize上(通过CArchive类实现)还有些什么关键性的用途吗? 感觉这东东有点模糊,请详解,谢谢2 大多数应用程序都只需要一种形式去表现,为什么还是要采用DOC/VIEW模型呢?
3. 一般提倡把用户界面和内部实现分离,你知道有几种方式可以把用户界面和内部实现分离吗? 除了这种还有些什么?4. 用new分配的指针,你可以判断指针是否为空吗?
不太明白这意思
char* value = "Stefanie924";
char * data ;
data = new char( strlen(value) +1 );
if( data != NULL)
{
strcpy( data, value );
}
cout<< data <<endl;
这样算判断吗?5. Copy constructor function与Assginment的差别?
拷贝构造是对未建立的对象,而Assginment是对已存在的对象(先delete原有对象所有的资源,然后再copy constructor ),
如CString str = new CString("Test");
CStirng strTest = str; //此处为copy sonstructor而非assginment
理解没错吧,还有些什么差别,请赐教
解决方案 »
- WTL生成的对话框程怎么会依赖于msvcr10.dll?
- 窗体单击最大化按钮就全屏,怎么设置能正常情况呢?
- opengl函数调用
- 主线程创建的线程和完成端口创建的线程是如何协调通信的
- 多用户下的CreateFileMapping,OpenFileMapping不能正常调用的问题.
- !!高手们帮帮忙了:listview控件失去焦点后选中行的颜色怎么设
- 如何打开一个.chm文件
- 怎么样屏闭已知错误-==>
- TextOut(int x,int y,const CString& str)形参中的 const 起什么作用?
- 剑在手!问天下谁是英雄!!!!!!!!!!!!!!!
- 这个问题问了好长时间没有人回答,请大家进来帮忙解决!!!!
- 求教高人!不太明白这几句的具体意思
不过相关的框架很多,大概就是把数据育封装,v c 层就说不清了2 3 5我也想知道 4. 用new分配的指针,你可以判断指针是否为空吗?
是由于 new 操作很可能因为内存不足等原因而操作失败, 此时返回空指针,
判断是决定是否能进行后续操作的
strcpy( data, value ); 否则会产生 assertion error
4.差不多?
5.The C++ Language?
一般的C++大师会用operator=来实现Copy Constructor,因此其实两者是相辅相承的。
楼下的 Continue
之所以要分开,就是为了解耦,以后改界面不影响数据模型.3. 一般提倡把用户界面和内部实现分离,你知道有几种方式可以把用户界面和内部实现分离吗?界面和数据模型解耦,就可以叫doc/view模式,至于是不是MFC的doc/view都无所谓了4,用new分配的指针,你可以判断指针是否为空吗?新的c++编译器,new失败默认是throw bad_alloc异常,所以,判null是没用的.5.Copy constructor function与Assginment的差别?一个有返回值,一个没...
一个是拷贝构造时用的,一个是赋值时用的...
赋值时要注意自赋值问题,拷贝构造没这个问题...
...
char * data = NULL;5.CString str = new CString("Test");
编译不通过 CStirng strTest = str;应该是负值函数
拷贝构造函数应该是
CString str("test");
CString strTest(str);期待牛人详解楼下继续
错,是拷贝构造
估计那个面试的人也是在捣乱吧,不是很相信会这样的,呵呵
这个一般不需要专人分开去设计的,也不需要什么特别的工具.