首页
社区
课程
招聘
[旧帖] [原创]和我一起学---C++特性一天学会如果你有足够的耐心 邀请码已发 麻烦斑竹了 给我发了两次 0.00雪花
发表于: 2011-2-20 13:09 2410

[旧帖] [原创]和我一起学---C++特性一天学会如果你有足够的耐心 邀请码已发 麻烦斑竹了 给我发了两次 0.00雪花

2011-2-20 13:09
2410
大概花了六天的时间整理的
整理的孙鑫老师的第二讲
这个寒假我从C++中的类是什么都不知道 一步一步走过来的
寒假50多天过的非常充实
以后还打算学习WIN32汇编 Windows驱动  如果真能坚持下来 每次我都会好好整理
C++的opp思想 类 继承 模板 封装 多态 到具体的诸如构造函数 析构函数 虚函数 纯虚函数 等等吧 很全面

编译环境 vc6.0

新建  win32 console application 选择空工程 插入 C++ source  file  下面例子全部编译通过  自己也发出来 也经常来复习吧 孙鑫老师讲的很好 将C++的特性体现的淋漓尽致 后面如果还有经典的例子会继续补充

最后的@14的封装没整理好 暂且放一下

注意包含头文件

#include“iostream.h”

#include“stdio.h”

注意头文件包含时候用"" 与<>的区别

注意所有的标点符号输入均应该在英文下

代码阅读软件推荐用 notepad++

//project1
//@1定义结构体
#include<iostream.h>
struct Point //传说中的结构体的形式
{
   int x;
   int y;
};
/*在main函数内部,我们利用这个结构体定义了一个结构体的变量叫pt*/
void main()
{
  Point pt;
  pt.x=5;
  pt.y=5;
  cout<<pt.x<<endl<<pt.y<<endl; /*endl相当于 /n 即回车换行*/
};

//@2在@1基础上在结构体里增加一个函数由他来负责输出功能
#include<iostream.h>
struct Point
{
   int x;
   int y;
   void output()  //函数()后面是定义变量{}后面是定义变量的值以及变量是如何实现的 c++结构体中是可以有函数的我们可以将一些操作封装到结构体内部的成员函数当中使用的时候只需调用这些成员函数
   {
   cout<<x<<endl<<y<<endl;
   };
};
/*在main函数内部,我们利用这个结构体定义了一个结构体的变量叫pt*/
void main()
{
  Point pt;
  pt.x=5;
  pt.y=5;
  //cout<<pt.x<<endl<<pt.y<<endl; /*endl相当于 /n 即回车换行*/
  pt.output();
};

//@3将struct换成class
#include<iostream.h>
//struct Point  
class Point//结构体是一种特殊的类 它是用struct所定义的一种默认(可修改)是public的类 public private protected 。class如果不声明默认为private
{
public:
   int x;
   int y;
   void output()  //函数()后面是定义变量{}后面是定义变量的值以及变量是如何实现的 c++结构体中是可以有函数的我们可以将一些操作封装到结构体内部的成员函数当中使用的时候只需调用这些成员函数
   {
   cout<<x<<endl<<y<<endl;
   };
};
/*在main函数内部,我们利用这个结构体定义了一个结构体的变量叫pt*/
void main()
{
  Point pt;
  pt.x=5;
  pt.y=5;
  //cout<<pt.x<<endl<<pt.y<<endl; /*endl相当于 /n 即回车换行*/
  pt.output();
};

//@4让程序有默认初始化值
#include<iostream.h>
//struct Point  
class Point//结构体是一种特殊的类 它是用struct所定义的一种默认(可修改)是public的类 public private protected 。class如果不声明默认为private
{
public:
   int x;
   int y;
   void init()
   {
      x=0;  //此处不可以是intx=0 否则依然是非常大的数值
   y=0;
   };
   void output()  //函数()后面是定义变量{}后面是定义变量的值以及变量是如何实现的 c++结构体中是可以有函数的我们可以将一些操作封装到结构体内部的成员函数当中使用的时候只需调用这些成员函数
   {
   cout<<x<<endl<<y<<endl;
   };
};
/*在main函数内部,我们利用这个结构体定义了一个结构体的变量叫pt*/
void main()
{
  Point pt;
  //pt.x=5;
  //pt.y=5;
  //cout<<pt.x<<endl<<pt.y<<endl; /*endl相当于 /n 即回车换行*/
  pt.init();//pt.init();必须先一步比pt.output调用否则依然输出很大的值
  pt.output();
};

//@5用构造函数修改程序不调用init且让函数有初始化值(使用构造函数 为了保证唯一性 构造函数用类名  没有返回值)
#include<iostream.h>//F10step over 单步 这个例子下两个断点 检验执行main的时候跳转到Point
//struct Point  
class Point//结构体是一种特殊的类 它是用struct所定义的一种默认(可修改)是public的类 public private protected 。class如果不声明默认为private
{
public:
   int x;
   int y;
   Point()//这就是传说中的构造函数的形式
   {
    x=0;
y=0;
   };
   void output()  //函数()后面是定义变量{}后面是定义变量的值以及变量是如何实现的 c++结构体中是可以有函数的我们可以将一些操作封装到结构体内部的成员函数当中使用的时候只需调用这些成员函数
   {
   cout<<x<<endl<<y<<endl;
   };
};
/*在main函数内部,我们利用这个结构体定义了一个结构体的变量叫pt*/
void main()
{
  Point pt;

  pt.output();
};

//@6析构函数 析构函数和构造函数都没有返回值(所以不用void定义 void用来定义一个函数没有返回值) 它用的也是类名  下两个断点证明程序结束之后跳转到析构函数释放程序占用的内存 F10step over
#include<iostream.h>//F10step over 单步 这个例子下两个断点 检验执行main的时候跳转到Point
//struct Point  
class Point//结构体是一种特殊的类 它是用struct所定义的一种默认(可修改)是public的类 public private protected 。class如果不声明默认为private
{
public:
   int x;
   int y;
   Point()//这就是传说中的构造函数的形式
   {
    x=0;
y=0;
   };
   ~Point()//传说中析构函数的形式
   {
   };
   void output()  //函数()后面是定义变量{}后面是定义变量的值以及变量是如何实现的 c++结构体中是可以有函数的我们可以将一些操作封装到结构体内部的成员函数当中使用的时候只需调用这些成员函数
   {
   cout<<x<<endl<<y<<endl;
   };
};
/*在main函数内部,我们利用这个结构体定义了一个结构体的变量叫pt*/
void main()
{
  Point pt;

  pt.output();
};

//@7函数的重载 定义三个断点看编译器是用哪个Point
#include<iostream.h>//F10step over 单步 这个例子下两个断点 检验执行main的时候跳转到Point
//struct Point  
class Point//结构体是一种特殊的类 它是用struct所定义的一种默认(可修改)是public的类 public private protected 。class如果不声明默认为private
{
public:
   int x;
   int y;
   Point()//这就是传说中的构造函数的形式
   {
    x=0;
y=0;
   };
   Point(int a,int b)//两个Point构成了函数的重载
   {
    x=a; //不可以为int x=a; 否则输出的又是很大的数
    y=b;
   };
   ~Point()//传说中析构函数的形式
   {
   };
   void output()  //函数()后面是定义变量{}后面是定义变量的值以及变量是如何实现的 c++结构体中是可以有函数的我们可以将一些操作封装到结构体内部的成员函数当中使用的时候只需调用这些成员函数
   {
   cout<<x<<endl<<y<<endl;
   };
};
/*在main函数内部,我们利用这个结构体定义了一个结构体的变量叫pt*/
void main()
{
  Point pt(3,3);

  pt.output();
};

//@8 做一个输出函数的重载函数
#include<iostream.h>//F10step over 单步 这个例子下两个断点 检验执行main的时候跳转到Point
//struct Point  
class Point//结构体是一种特殊的类 它是用struct所定义的一种默认(可修改)是public的类 public private protected 。class如果不声明默认为private
{
public:
   int x;
   int y;
   Point()//这就是传说中的构造函数的形式
   {
    x=0;
y=0;
   };
   Point(int a,int b)//两个Point构成了函数的重载
   {
  x=a;
  y=b;
   };
   ~Point()//传说中析构函数的形式
   {
   };
   void output()  //函数()后面是定义变量{}后面是定义变量的值以及变量是如何实现的 c++结构体中是可以有函数的我们可以将一些操作封装到结构体内部的成员函数当中使用的时候只需调用这些成员函数
   {
   cout<<x<<endl<<y<<endl;
   };
   void output(int x,int y)
   {
     x=x;
  y=y;
   };
};
/*在main函数内部,我们利用这个结构体定义了一个结构体的变量叫pt*/
void main()
{
  Point pt(3,3);
  pt.output(5,5);
  pt.output();
};
//@9继续例子8用this->指针实现在定义类的时候对x,y进行初始化以便后面赋值
#include<iostream.h>//F10step over 单步 这个例子下两个断点 检验执行main的时候跳转到Point
//struct Point  
class Point//结构体是一种特殊的类 它是用struct所定义的一种默认(可修改)是public的类 public private protected 。class如果不声明默认为private
{
public:
   int x;
   int y;
   Point()//这就是传说中的构造函数的形式
   {
    x=0;
y=0;
   };
   Point(int a,int b)//两个Point构成了函数的重载
   {
  x=a;
  y=b;
   };
   ~Point()//传说中析构函数的形式
   {
   };
   void output()  //函数()后面是定义变量{}后面是定义变量的值以及变量是如何实现的 c++结构体中是可以有函数的我们可以将一些操作封装到结构体内部的成员函数当中使用的时候只需调用这些成员函数
   {
   cout<<x<<endl<<y<<endl;
   };
   void output(int x,int y)
   {
     this->x=x;
  this->y=y;
   };
};
/*在main函数内部,我们利用这个结构体定义了一个结构体的变量叫pt*/
void main()
{
  Point pt(3,3);
  pt.output(5,5);
  pt.output();
};

//project2
//@1继承
#include<iostream.h>
class Animal//这就是传说中的类的格式 和struct的格式是一样的
{
public:
  void eat()
  {
  cout<<"animal eat"<<endl;
  };
  void sleep()
  {
  cout<<"animal sleep"<<endl;
  };
  void breathe()
  {
  cout<<"animal breathe"<<endl;
  };
};
class Fish : public Animal//:可以贴在public身上
{

};
void main()
{
Animal an;
an.eat();
Fish fh;
fh.sleep();

};

//@2protected
#include<iostream.h>
class Animal//这就是传说中的类的格式 和struct的格式是一样的
{
public:
  void eat()
  {
  cout<<"animal eat"<<endl;
  };
protected://在子类中可以访问 在外部不可以访问 private只可以在自己类的内部被访问
  void sleep()
  {
  cout<<"animal sleep"<<endl;
  };
  void breathe()
  {
  cout<<"animal breathe"<<endl;
  };
};
class Fish : public Animal//:可以贴在public身上
{
void test()
{
  sleep();
  breathe();
};
};
void main()
{
Animal an;
an.eat();
Fish fh;
fh.sleep();

};

//@3在Animal中增加构造函数 看看是Animal还是Fish构造函数先调用
#include<iostream.h>
class Animal//这就是传说中的类的格式 和struct的格式是一样的
{
public:
Animal()
{
   cout<<"animal construct"<<endl; //去掉这三行fish construct也会输出
};
  void eat()
  {
  cout<<"animal eat"<<endl;
  };
  void sleep()
  {
  cout<<"animal sleep"<<endl;
  };
  void breathe()
  {
  cout<<"animal breathe"<<endl;
  };
};
class Fish : public Animal//:可以贴在public身上
{
public:
   Fish()
   {
    cout<<"fish construct"<<endl;
   };
};
void main()
{

Fish fh;

};

//@4析构函数Animal与Fish调用的顺序  构造函数父类先构造再子类构造析构时候相反
#include<iostream.h>
class Animal//这就是传说中的类的格式 和struct的格式是一样的
{
public:
Animal()
{
   cout<<"animal construct"<<endl; //去掉这三行fish construct也会输出
};
~Animal()
{
   cout<<"animal deconstruct"<<endl;
};
  void eat()
  {
  cout<<"animal eat"<<endl;
  };
  void sleep()
  {
  cout<<"animal sleep"<<endl;
  };
  void breathe()
  {
  cout<<"animal breathe"<<endl;
  };
};
class Fish : public Animal//:可以贴在public身上
{
public:
   Fish()
   {
    cout<<"fish construct"<<endl;
   };
   ~Fish()
{
   cout<<"fish deconstruct"<<endl;
};
};
void main()
{

Fish fh;

};

//@5在Animal上加个参数 继承父类的带参数的构造函数
#include<iostream.h>
class Animal//这就是传说中的类的格式 和struct的格式是一样的
{
public:
Animal(int weight,int height)//加上参数之后编译不通过 因为Fish本身无函数 Animal被加入了函数
{
   cout<<"animal construct"<<endl; //去掉这三行fish construct也会输出
};
~Animal()
{
   cout<<"animal deconstruct"<<endl;
};
  void eat()
  {
  cout<<"animal eat"<<endl;
  };
  void sleep()
  {
  cout<<"animal sleep"<<endl;
  };
  void breathe()
  {
  cout<<"animal breathe"<<endl;
  };
};
class Fish : public Animal//:可以贴在public身上
{
public:
   Fish():Animal(400,300)//向子类传递带参数的父类的构造函数的一种方法
   {
    cout<<"fish construct"<<endl;
   };
   ~Fish()
{
   cout<<"fish deconstruct"<<endl;
};
};
void main()
{

Fish fh;

};

//@6继承自己内部的const常量
#include<iostream.h>
class Animal//这就是传说中的类的格式 和struct的格式是一样的
{
public:
Animal(int weight,int height)//加上参数之后编译不通过 因为Fish本身无函数 Animal被加入了函数
{
   cout<<"animal construct"<<endl; //去掉这三行fish construct也会输出
};
~Animal()
{
   cout<<"animal deconstruct"<<endl;
};
  void eat()
  {
  cout<<"animal eat"<<endl;
  };
  void sleep()
  {
  cout<<"animal sleep"<<endl;
  };
  void breathe()
  {
  cout<<"animal breathe"<<endl;
  };
};
class Fish : public Animal//:可以贴在public身上
{
public:
   Fish():Animal(400,300),a(1)           //向子类传递带参数的父类的构造函数的一种方法
   {
    cout<<"fish construct"<<endl;
   };
   ~Fish()
{
   cout<<"fish deconstruct"<<endl;
};
private:
  const int a;
};
void main()
{

Fish fh;

};

//@7 fish bubble  创建子类的breathe看先继承父类还是子类的breathe  函数的覆盖
#include<iostream.h>
class Animal//这就是传说中的类的格式 和struct的格式是一样的
{
public:
Animal(int weight,int height)//加上参数之后编译不通过 因为Fish本身无函数 Animal被加入了函数
{
//   cout<<"animal construct"<<endl; //去掉这三行fish construct也会输出
};
~Animal()
{
//   cout<<"animal deconstruct"<<endl;
};
  void eat()
  {
  cout<<"animal eat"<<endl;
  };
  void sleep()
  {
  cout<<"animal sleep"<<endl;
  };
  void breathe()
  {
   cout<<"animal breathe"<<endl;
  };
};
class Fish : public Animal//:可以贴在public身上
{
public:
   Fish():Animal(400,300),a(1)           //向子类传递带参数的父类的构造函数的一种方法
   {
//    cout<<"fish construct"<<endl;
   };
   ~Fish()
{
//   cout<<"fish deconstruct"<<endl;
};
/*  void breathe()    //  当注释起void breathe()   子类会从父类继承 但一旦定义子类的breathe即使没有输出依然从自己这里继承  
//   {
//     cout<<"fish bubble"<<endl;
    };  */
private:
  const int a;
};
void main()
{

Fish fh;
fh.breathe();

};

//@8  孩子结婚既要轿车又要花轿 breathe既要bubble 又要Animal的breathe
#include<iostream.h>
class Animal//这就是传说中的类的格式 和struct的格式是一样的
{
public:
Animal(int weight,int height)//加上参数之后编译不通过 因为Fish本身无函数 Animal被加入了函数
{
//   cout<<"animal construct"<<endl; //去掉这三行fish construct也会输出
};
~Animal()
{
//   cout<<"animal deconstruct"<<endl;
};
  void eat()
  {
  cout<<"animal eat"<<endl;
  };
  void sleep()
  {
  cout<<"animal sleep"<<endl;
  };
  void breathe()
  {
   cout<<"animal breathe"<<endl;
  };
};
class Fish : public Animal//:可以贴在public身上
{
public:
   Fish():Animal(400,300),a(1)           //向子类传递带参数的父类的构造函数的一种方法
   {
//    cout<<"fish construct"<<endl;
   };
   ~Fish()
{
//   cout<<"fish deconstruct"<<endl;
};
void breathe()    //  当注释起void breathe()   子类会从父类继承 但一旦定义子类的breathe即使没有输出依然从自己这里继承  
  {
     Animal::breathe();
     cout<<"fish bubble"<<endl;
    };  
private:
  const int a;
};
void main()
{

Fish fh;
fh.breathe();

};

//@9定义全局函数并加入Animal的指针                                                                没看懂(现在懂点了 全局函数是在类之外的)
#include<iostream.h>
class Animal//这就是传说中的类的格式 和struct的格式是一样的
{
public:
Animal(int weight,int height)//加上参数之后编译不通过 因为Fish本身无函数 Animal被加入了函数
{
//   cout<<"animal construct"<<endl; //去掉这三行fish construct也会输出
};
~Animal()
{
//   cout<<"animal deconstruct"<<endl;
};
  void eat()
  {
  cout<<"animal eat"<<endl;
  };
  void sleep()
  {
  cout<<"animal sleep"<<endl;
  };
  void breathe()
  {
   cout<<"animal breathe"<<endl;
  };
};
class Fish : public Animal//:可以贴在public身上
{
public:
   Fish():Animal(400,300),a(1)           //向子类传递带参数的父类的构造函数的一种方法
   {

   };

void breathe()    //  当注释起void breathe()   子类会从父类继承 但一旦定义子类的breathe即使没有输出依然从自己这里继承  
  {
     
     cout<<"fish bubble"<<endl;
    };  
private:
  const int a;
};
void fn(Animal *pAn)   //定义了一个全局的函数  暂时认为定义全局函数的时候一定要放到最后 (有待查证)定义的全局函数已经跳出了类的{}  
{
pAn->breathe();
};
void main()
{

Fish fh;//产生fh对象的时候首先要构造Animal this->指针指向的首地址既是fh对象的地址又是Animal的地址
Animal *pAn;
pAn=&fh;
fn(pAn);

};

//@10调用Fish对象的breathe 使用虚函数 c++的多态性  多态性一句话如果在基类相应的函数前面加上一个virtual子类有的调用子类的子类没有的调用父类的(前提条件是传递的是子类的地址)
#include<iostream.h>
class Animal//这就是传说中的类的格式 和struct的格式是一样的
{
public:
Animal(int weight,int height)//加上参数之后编译不通过 因为Fish本身无函数 Animal被加入了函数
{
//   cout<<"animal construct"<<endl; //去掉这三行fish construct也会输出
};
~Animal()
{
//   cout<<"animal deconstruct"<<endl;
};
  void eat()
  {
  cout<<"animal eat"<<endl;
  };
  void sleep()
  {
  cout<<"animal sleep"<<endl;
  };
  virtual void breathe() //如果只是虚函数即使定义了virtual 但是如果子类没有定义子类的breathe 依然会从加了virtual的breathe这里继承 但是如果把父类的breathe注释起来由于要继承父类子类即使有breathe也会由于找不到父类的breathe报错
  {
   cout<<"animal breathe"<<endl;
  };
};
class Fish : public Animal//:可以贴在public身上
{
public:
   Fish():Animal(400,300),a(1)           //向子类传递带参数的父类的构造函数的一种方法
   {

   };

void breathe()    //  当注释起void breathe()   子类会从父类继承 但一旦定义子类的breathe即使没有输出依然从自己这里继承  
  {
     
     cout<<"fish bubble"<<endl;
    };   
private:
  const int a;
};
void fn(Animal *pAn)   //定义了一个全局的函数  暂时认为定义全局函数的时候一定要放到最后 (有待查证)定义的全局函数已经跳出了类的{}  
{
pAn->breathe();
};
void main()
{

Fish fh;
Animal *pAn;
pAn=&fh;
fn(pAn);

};

//@11c++中的纯虚函数  是为了将来不好确定由子类继承的函数而给出的一个名字空壳
#include<iostream.h>
class Animal//这就是传说中的类的格式 和struct的格式是一样的
{
public:
Animal(int weight,int height)//加上参数之后编译不通过 因为Fish本身无函数 Animal被加入了函数
{
//   cout<<"animal construct"<<endl; //去掉这三行fish construct也会输出
};
~Animal()
{
//   cout<<"animal deconstruct"<<endl;
};
  void eat()
  {
  cout<<"animal eat"<<endl;
  };
  void sleep()
  {
  cout<<"animal sleep"<<endl;
  };
  virtual void breathe()=0; //当改为纯虚函数的时候必须把{}里面的东西注释掉而且必须子类的breathe保留才可以
  /*{
   cout<<"animal breathe"<<endl;
  };  */
};
class Fish : public Animal//:可以贴在public身上
{
public:
   Fish():Animal(400,300),a(1)           //向子类传递带参数的父类的构造函数的一种方法
   {

   };

void breathe()    //  当注释起void breathe()   子类会从父类继承 但一旦定义子类的breathe即使没有输出依然从自己这里继承  
  {
     
     cout<<"fish bubble"<<endl;
    };   
private:
  const int a;
};
void fn(Animal *pAn)   //定义了一个全局的函数  暂时认为定义全局函数的时候一定要放到最后 (有待查证)定义的全局函数已经跳出了类的{}  
{
pAn->breathe();
};
void main()
{

Fish fh;
Animal *pAn;
pAn=&fh;
fn(pAn);

};

//@12引用的概念 引用就是一个别名 区别指针
int a=6;
int &b=a;
b=5;
int c=7;
b=c;

//@13把一个函数的实现拿到类的定义外部来
#include<iostream.h>
class Animal//这就是传说中的类的格式 和struct的格式是一样的
{
public:
Animal(int weight,int height)//加上参数之后编译不通过 因为Fish本身无函数 Animal被加入了函数
{
//   cout<<"animal construct"<<endl; //去掉这三行fish construct也会输出
};
~Animal()
{
//   cout<<"animal deconstruct"<<endl;
};
  void eat();
  
  void sleep()
  {
  cout<<"animal sleep"<<endl;
  };
  virtual void breathe()=0; //当改为纯虚函数的时候必须把{}里面的东西注释掉而且必须子类的breathe保留才可以
  /*{
   cout<<"animal breathe"<<endl;
  };  */
};
void Animal::eat()
{

};
class Fish : public Animal//:可以贴在public身上
{
public:
   Fish():Animal(400,300),a(1)           //向子类传递带参数的父类的构造函数的一种方法
   {

   };

void breathe()    //  当注释起void breathe()   子类会从父类继承 但一旦定义子类的breathe即使没有输出依然从自己这里继承  
  {
     
     cout<<"fish bubble"<<endl;
    };   
private:
  const int a;
};
void fn(Animal *pAn)   //定义了一个全局的函数  暂时认为定义全局函数的时候一定要放到最后 (有待查证)定义的全局函数已经跳出了类的{}  
{
pAn->breathe();
};
void main()
{

Fish fh;
Animal *pAn;
pAn=&fh;
fn(pAn);

};

//@14封装 类的定义以及函数原型的声明放到头文件中 类中成员函数的实现放到源文件中
//Animal.h
class Animal//这就是传说中的类的格式 和struct的格式是一样的
{
public:
Animal(int weight,int height)

  void eat();
  
  void sleep();

  virtual void breathe();

};

//Animal.cpp
Animal::Animal()  //先写构造函数 没有返回值
{};
void Animal::eat()
{
  cout<<"animal eat"<<endl;
};
void Animal::sleep()
{
  cout<<"animal sleep"<<endl;
};
void Animal::breathe()
{
  cout<<"animal breathe"<<endl;
};
//@15解决头文件重复包含问题 Fish.h再一次包含了Animal.h造成了重复包含  使用预编译指令符 当我们设计完一个类的时候不管怎样都应该加上预编译指令符
//编译时候发生的错误很好查找 链接时候产生的错误不好整
#ifndef POINT_H_H_H
#define POINT_H_H_H
class Point
{

};
#endif
#ifndef POINT_H_H_H
#define POINT_H_H_H
class Point
{
};
#endif
void main()
{
Point pt;

};

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (37)
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
2
http://www.sunxin.org/video/vc.htm
自己随便下吧
还有java无难事 讲的也挺好的
2011-2-20 13:11
0
雪    币: 120
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
如果第三讲看不懂的就,就暂时放着。等多写了程序了再来看会受益匪浅
2011-2-20 13:23
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
4
恩 好多时候很多看的都一知半解的
还有老师讲的fopen 还有文件指针那一块
等到看到CreateFile的时候就理解了不少了
虽然API函数的用法总是记不住 总是得根据现成的例子 还要查MSDN
2011-2-20 13:29
0
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
支持,加晒发
2011-2-20 13:30
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
6
昨天刚注册看雪的ID还是临时会员 呵呵
看雪论坛的氛围真的很好
昨天去sudami牛人的空间留言了 sudami也回复了
真的是很感激前辈们的关怀啊
2011-2-20 13:33
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
学习理论的时候很枯燥,敲出代码后还是蛮有成就感的。。。
2011-2-20 16:18
0
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
很强悍的教学贴……
不过看了一半左右就想睡觉了……
精力实在不够用啊……
2011-2-20 16:33
0
雪    币: 291
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
基本上都是孙鑫那本书上的代码~
2011-2-20 17:09
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
好东西支持一下,来学习一下呵呵
2011-2-20 18:14
0
雪    币: 201
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
感谢楼主 来学习一下
2011-2-20 20:03
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
12
看来你也是从孙鑫老师的VC++中走出来的啊
看过很多学习VC++的视频 看完才觉得 只有孙鑫老师讲的最好
2011-2-21 01:08
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
13
是啊 是啊 光看理论头都大了 刚开始学的时候真的是 用了个cin cout都觉得好高兴
2011-2-21 01:09
0
雪    币: 306
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
楼主寒假有五十天,羡慕。。。
2011-2-21 02:13
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
15
我们一般是寒假长暑假短 暑假只有一个月
唉 回到学校又要开始面对日语了
2011-3-13 14:57
0
雪    币: 266
活跃值: (33)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
杯具,有些东西我用了很多年才整明白。。。
2011-3-13 15:05
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
17
上面都是孙鑫老师讲的一些简单的例子 理解倒是很好理解  孙鑫老师也讲的很好
他是我看了这么多视频教程里讲的最好的一个

但是实际用于Windows程序设计的时候老多东西 没有用上  或者用上了也是很难理解的

我看的基本驱动设计上 涉及到好多数据结构 然后我学习数据结构的书籍 可是数据结构的书倒是看明白了 等到再看Windows内核的时候  数据结构就有看不懂了  就还是遇到的少了
大牛是什么  谭文也就是楚狂人说 大牛就是像牛一样踏踏实实工作的人
一起努力吧
2011-3-13 15:23
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
楼主整理的很系统,谢谢了
2011-3-13 15:54
0
雪    币: 229
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
谢谢楼主分享学习经验
2011-3-13 15:58
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
20
大家一起学习 一起进步 呵呵  到现在还是菜鸟一个呢
2011-3-13 16:12
0
雪    币: 955
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
应该标明是  VC++  还是有区别的  你应该也知道  微软总喜欢跟标准较劲
而且 看你的代码包含的头文件 就不想再看下去了  ...
如果想学习 C++  建议还是网上公认的那几本书去学吧  首推 <C++ primer>
2011-3-13 16:35
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
22
虚心接受建议   是学习孙鑫老师VC++深入详解第二讲里面整理的

可是孙鑫老师给他的这堂课起得名字就叫掌握C++啊   我理解楼上的意思

钱能老师出版的那本C++的书就不推荐用VC编译  推荐.net或者BC

说微软推出的VC特性太多  反而真正的标准却无法编译通过了
2011-3-13 16:46
0
雪    币: 678
活跃值: (101)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
23
我觉得看一本《C++ Primer》先比较好。VC要熟悉一个月就可以了。但C++并不是如此。
2011-3-13 17:02
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
24
虚心接受楼上建议  一定回去好好看看 《C++ Primer》
2011-3-13 17:07
0
雪    币: 678
活跃值: (101)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
25
你说你数据结构的书看懂了,但又看不懂驱动的数据结构,是不是写代码不够量呢?找本《数据结构与算法分析——C语言描述》,把里面的习题踏踏实实的做够200道,我相信会有很大收获的,这也是自己接下来要做的事情。罗聪大大的数据结构也是用了这本书。
2011-3-13 17:19
0
游客
登录 | 注册 方可回帖
返回
//