各位编程高手:
    你们好,我是学工商管理的学生,但是高度热爱编程,已自学了C/C++,想编一个Windows程序,但一碰VC,顿时傻了眼,太难了,特别是MFC那些代码,怎么也搞不清楚.C#倒是很容易,但我又不想困在框框架架里面.现在我的问题是:在VC方面,我是进又不能,退又不想.我是选择C#方面发展还是继续搞VC?搞VC又如何突破,望高手指教.

解决方案 »

  1.   

    我觉得学什么一定要从基础学起.VC也好,C#也好,基础很重要,只学C/C++还不行,数据结构,算法都是很重要的.
    所以跳过基础去学高级别的东西,你会觉得都是些模棱两可的东西.如果不是计算机专业毕业的,最好还是学好汇编,数据结构,算法等等知识
    再来使用VC,MSDN是一个现学现卖的东西,如果基础好,初次接触VC你就完全可以
    写出自己想要的东西.
      

  2.   

    一切都要慢慢来!看看《深入前出MFC》也许对你有帮助!
      

  3.   

    我看懂《深入浅出MFC》用了《C++ PRIMER PLUS》(第4版)前12章的知识,前面8章我自己写的笔记比高质量要高出一个层次#include <iostream>
    #include <cstring>
    using namespace std;//father class
    class CEmployee
    {
    public:
    CEmployee();
    CEmployee(const char * nm)
    {
    strcpy(m_name, nm);
    }

    //core virtual function
    virtual float computePay() = 0;
    private:
    char m_name[50];
    };//d1
    class CWage:public CEmployee
    {
    public:
    CWage(const char * nm):CEmployee(nm)
    {
    m_hours=250.0;
    m_wage=40.0;
    }
    void setWage(float wage)
    {
    m_wage=wage;
    }
    void setHours(float hours)
    {
    m_hours=hours;
    } //virtual function-------有“底薪”的销售员的工资这样计算出来
    virtual float computePay()
    {
    cout<<"CWage: "<<(m_wage * m_hours)<<endl;
    }

    private:
    float m_wage;
    float m_hours;
    };//d11
    class CSale : public CWage
    {
    public:
    CSale(const char * nm): CWage(nm)
    {
    m_sales=m_comm=0;
    }
    void setCommission(float comm)
    {
    m_comm= comm;
    }
    void setSales(float sales)
    {
    m_sales=sales;
    } //virtual func-------无“底薪”的销售员的薪水这样计算出来
    virtual float computePay()
    {
    cout<<"CSales: "<<(CWage::computePay() + (m_comm * m_sales))<<endl;
    }
    private:
    float m_comm, m_sales;
    };//d2
    class CManager : public CEmployee
    {
    public:
    CManager(const char * nm) : CEmployee(nm)
    {
    m_salary = 15000.0;
    }
    void setSalary(float salary)
    {
    m_salary = salary;
    } //virtuanl function
    virtual float computePay()
    {
    cout<<"CManager: "<<m_salary<<endl;
    }
    private:
    float m_salary;
    };
    //////////////////////////////////////////////////////////////////////////
    int main()
    {
    CWage awage("我啊");
    CSale asale("我啊");
    CManager amanager("还是我啊"); //////////////////////////////////////////////////////////////////////////
    //开一个基类型的指针数组
    CEmployee * pEmployee[3]=
    {
    &awage,
    &asale,
    &amanager
    };

    for (int i=0; i<3; i++)
    {
    pEmployee[i]->computePay();
    }
    cin.get();
    return 0;
    }
    比如说:virtual void--------------这里必须是void类型,MFC中与文档有关的virtual void Serialize()和与视图有关的virtual void OnDraw()都用的是:void 我上面改写成float的会输出一个奇怪的问题!!不知是为什么??非常想知道
      

  4.   

    先打好基础 我也是改行过来的  当初花了两年的时间学习基础知识 包括数据结构 C C++ 操作系统原理 数据库原理 网络 等 然后开始学习VC 主要是网络通讯和数据库 也学过驱动 现在做网络安全通讯
      

  5.   

    C#倒是很容易??VC却太难??不会吧~
    不要以为会弄几个窗口就算学会,
    C#和VC一样的难,
    想学就的努力
      

  6.   

    "uovk(石头)"的建议很好,现在我已能够用C#开发项目,VC已经入门,C#真的好容易
      

  7.   

    C++ 难VC++ 繁如果你学VC++觉得很难的话, 很可能是C++的基础还有待补一下
      

  8.   

    别浪费时间了。C++不好学。你 学一点也没用,学点有用的,VB吧
      

  9.   


    我也不是软件或是计算机专业的,我的想法应该能给你启发!----------------------------------
    搞不懂VC?那里越是要学VC!!学习MFC,你就当是打基础.
    学了MFC,你对C++就有更深的领悟,这些领悟是绝非能够在C++的教程中能学到的!!我们学习繁复的东西不一定是为了应用,可全当作思维训练.
    我相信很多人都学过8086,但后来却是用高级语言,而很少碰汇编!
    你果你觉得"C#倒是很容易",我说C#不会容易.
    我想你只是像摆弄积木玩具一样在拼装控件和.NET类,而并未深入!不要以为搞IT搞软件就崇高!
    从本质上看,很多人与机械厂装配线上拧螺丝的工人并无异处.
    我想你不会希望成为其中一员!---------------------------------
    要学习MFC,我认为有些东西是应该先学学的!一、数据结构与算法
    学编程,又怎能不学数据结构与算法!
    编程不是用什么变量,不是定义什么函数,不是用什么分支循环.
    而是要找到解决问题的方法,这个方法是完全可以用你的自然语言描述的.
    写中文也是在编程,说话也是在编程,这真是让人觉得伟大!
    但也不是找到方法就行了,而是要找到更好的,这就离不开数据结构与算法.
    MFC里面应用了各种数据结构,
    你可以看看MFC中RTTI的实现,链表贯穿其中!
    只是用天才般的宏就能把结点串起来。二、windows程序设计当看到大量莫名其妙的API函数,或是分不出哪是API的时候,
    当以为窗口类是C++类的时候,或是以为API中有C++类的时候,
    当搞不懂什么叫句柄,弄不清消息从哪来到哪去的时候,
    你就要投入到windows程序设计怀抱中。
    下面这些东西尽可能的学一下,
    操作系统,数据库原理,计算机组成原理,计算机系统与结构。惭愧的是这四门我没学过(只学过类似课程,因为所学专业的关系),汗。最后说一句,我不是什么高手,我仍在入门阶段。---------------------------------此篇也送给更多在MFC门口徘徊的人!
      

  10.   

    VC要慢慢来,边学边用,还要一边补下数据结构。
    目前我是这样学的。学了四个月感觉有点门路了,当然VC是繁杂的,要不断的反复操练。
      

  11.   

    我花了1年时间认识了C++和VC,目前已经做了几个小东西了,感觉东西太多,做的时候要备一些资料才可以完成,比如MSDN或自己的代码库。
      

  12.   

    汇编和window编程一定要学的。
      

  13.   

    我暑假自学MFC,从前只学过一门计算机组成原理,感觉很困难
    看了
    wzb13(Zee)
    大哥的帖子,
    从现在开始抓紧时间学专业课!
      

  14.   

    二、windows程序设计当看到大量莫名其妙的API函数,或是分不出哪是API的时候,
    当以为窗口类是C++类的时候,或是以为API中有C++类的时候,
    当搞不懂什么叫句柄,弄不清消息从哪来到哪去的时候,
    你就要投入到windows程序设计怀抱中。也许在这里你能找到答案!~~~~~