乐乐

乐乐的博客园
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

c++

Posted on 2007-08-13 10:22  带你去月球  阅读(305)  评论(0编辑  收藏  举报
MSDN:  
       WIN32 API: 平台SDK->Reference->Win32 Functions in Alpha Order
  MFC类库资料: Visual C++ Documentation->Reference->Microsoft Fo...
  C/C++语言及标准库资料: Visual C++ Documentation->Reference->C/C++...
  标准控件: 标准控件都被MFC封装了,可以参考对应的类,如Edit控件对应CEdit类.
VC知识库:http://www.vckbase.com/
c++源码:http://sourceforge.net/
c++在线教程:http://www.bc-cn.net/Article/kfyy/cjj/jc/Index.html

c1902 erroe : 
   solution:  Copy "mspdbsrv.exe" to "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE" ...


示例1: 20070814
=========================================================================
#include <stdio.h>     //为了调用printf
#using <mscorlib.dll>  //为了使用这个程序集中定义的托管类型
using namespace System; //简化访问System命名空间中的类型
//实现一个普通的c/c++ main函数
void main()
{
    
//调用 c运行库提供的printf函数
    printf("Hi\r\n");
    
//调用FCL(framework class library)的System.Console类型提供的WriteLine方法
    Console::WriteLine("HI");
}


保存为: test.cpp文件
在命令行下编译:  cl  /clr test.cpp
(将cl.exe的路径添加进path环境变量)
致命错误 C1034
//(REF)http://msdn2.microsoft.com/zh-cn/library/b72s0k36(vs.80).aspx

错误消息
file: 不包括路径集
 没有设置 INCLUDE 环境变量
在 Visual C++ 中设置 INCLUDE 变量
  1. 在“工具”菜单中单击“选项”。

  2. 在“选项”对话框中选择“目录”选项卡。

  3. 在“显示以下内容的目录”框中选择“包含文件”。

  4. 在“目录”框中输入包含文件的路径。

从命令行设置 INCLUDE 变量
运行 VCVARS32.bat (...Microsoft Visual Studio 8\VC\bin目录下)  批处理文件
=========================================================================
示例2: 20071113
c++中的main函数形式:
int main(int argc, char *argv[])
= int main(int argc, char** argv)

qq 说 (4:55 PM):
char *argv[];
qq 说 (
4:55 PM):
argv[
0]="prog";
qq 说 (
4:55 PM):
怎么是一个字符串啊 不应该是一个char字符吗
qq 说 (
4:55 PM):
argv[
0]
侯俊 说 (
4:55 PM):

侯俊 说 (
4:56 PM):
你那个是给那个数组的第一个元素赋值好不好,
qq 说 (
4:56 PM):
哪个
??
侯俊 说 (
4:56 PM):
argv[
0]="prog";
qq 说 (
4:57 PM):
argv[
0]的值应该是一个指针吧?
侯俊 说 (
4:57 PM):

qq 说 (
4:57 PM):
"prog" 是把它的首地址给argv[0]了  
qq 说 (
4:58 PM):
不应该加个
&"prog"代表是"prog"的地址给 argv[0]?
qq 说 (
4:58 PM):
你会不会啊
?
侯俊 说 (
4:59 PM):
argv[
0]="prog";你这个能编译过去
侯俊 说 (
4:59 PM):
给一个指针符一个字符串的值
侯俊 说 (
4:59 PM):
草,你能编译过去
侯俊 说 (
4:59 PM):

qq 说 (
4:59 PM):
能啊 
qq 说 (
4:59 PM):
你不懂了吧
?
qq 说 (
5:00 PM):
"prog" 是string吧  string中的每一个是char吧 
qq 说 (
5:01 PM):
直接把
"prog" 给char指针, 表示把"prog" 的首个字符的地址给char指针了  
qq 说 (
5:01 PM):
懂不懂
??
侯俊 说 (
5:01 PM):
那你那个argv[
0]="prog";玩了之后,*argv【0】等于多少
qq 说 (
5:01 PM):
p
qq 说 (
5:01 PM):

侯俊 说 (
5:02 PM):
怎么是一个字符串  不应该是一个char字符吗那你刚才问我这个干什么
侯俊 说 (
5:02 PM):

侯俊 说 (
5:02 PM):
你会不会问问题
qq 说 (
5:03 PM):
你懂不懂啊
qq 说 (
5:04 PM):
一个string可以自己表示自己的地址的  
侯俊 说 (
5:04 PM):
被你说不动了
侯俊 说 (
5:04 PM):

侯俊 说 (
5:04 PM):
这个我知道
qq 说 (
5:04 PM):
那你说我说的哪个地方有问题
??
侯俊 说 (
5:04 PM):
*argv【0】等于p,没问题呀
侯俊 说 (
5:04 PM):
那你问的什么东西
qq 说 (
5:05 PM):
呵呵 我刚开始没想明白而已 
侯俊 说 (
5:06 PM):

qq 说 (
5:06 PM):
顺便考考你  
侯俊 说 (
5:06 PM):

侯俊 说 (
5:06 PM):
没事瞎说
qq 说 (
5:06 PM):
argv[
0]="prog";你这个能编译过去
qq 说 (
5:06 PM):
那你说它编译不过去
?
侯俊 说 (
5:07 PM):
我第一下看错了,草 
qq 说 (
5:07 PM):
哦  
qq 说 (
5:07 PM):
这个问题我纳闷了好久  
qq 说 (
5:07 PM):
刚才一问你,我才思路发散, 想通了 
侯俊 说 (
5:08 PM):
你脑袋进水了
qq 说 (
5:08 PM):
进了好久,今天排出去咯 
侯俊 说 (
5:08 PM):
为啥那个穿的是吧那个字符串的地址穿过去你知道吗
qq 说 (
5:08 PM):
 
??
qq 说 (
5:08 PM):
什么
???
qq 说 (
5:09 PM):
字符串是连续存储的 把首个字符传过去 
侯俊 说 (
5:09 PM):
argv[
0]="prog"这个为什么能编译故去
qq 说 (
5:09 PM):
不是说了吗 
qq 说 (
5:09 PM):
一个string可以自己表示自己的地址的  
qq 说 (
5:10 PM):
而它的地址就是首字符的地址  
qq 说 (
5:10 PM):
首个char的地址啊 
侯俊 说 (
5:10 PM):
有道理
qq 说 (
5:10 PM):
"prog"就表示的p的地址 给char的指针当然可以了 
侯俊 说 (
5:10 PM):
以前还真没注意过这
qq 说 (
5:10 PM):
所以
*argv[0] 就是p 首字符啊  
qq 说 (
5:11 PM):
我也纳闷好久 
侯俊 说 (
5:11 PM):
你太有才了
qq 说 (
5:12 PM):
不行啊 
qq 说 (
5:14 PM):
多交流学的更明白 
侯俊 说 (
5:14 PM):
有道理
qq 说 (
5:15 PM):
我什么时候说过没有道理的话了
??

==============================================================================================================

示例2: 20071113

class
Test.h
#include <string>
#include 
<iostream>

class qq_TestOne
{
    
public:
        qq_TestOne();

        std::
string getName();
        
int getID();
        
void display();

    
private:
        std::
string name;
        
int id;
}
;

Test.cpp
#include "Class_Test.h"

using namespace std;

qq_TestOne::qq_TestOne():name(
"qq"),id(11){ };

std::
string qq_TestOne::getName()
{
    
return name;
}


int qq_TestOne::getID()
{
    
return id;
}


void qq_TestOne::display()
{
    cout 
<< "Employee: " << getName() <<  endl;
    cout 
<< "-------------------------" << endl;
    cout 
<< "Employee Number: " << getID() << endl;
    cout 
<< endl;
}

TestMain.cpp
#include "Class_Test.h"

int main(int argc, char** argv)
{
    qq_TestOne qqTest;
    qqTest.display();

    
return 0;
}
 
OutPut:
Employee: qq
-------------------------
Employee Number: 
11

要养成这个习惯: 通过成员函数来访问和改变类中的数据.有利于软件的设计和维护.
另:可将 getName 和 getID声明为const类型,可以保证此俩函数不会修改调用它的对象.
Ex:
 string getName() const;
 int getID() const;

无觅相关文章插件,快速提升流量