VC++2008如何添加一个类?

来源:百度知道 编辑:UC知道 时间:2024/05/28 15:06:48
第一次使用VC++2008,发现存在一个严重的问题。
添加的类,在主函数调用的时候存在一个问题,我把代码贴出来,
各位朋友帮忙分析一下,谢谢。

首先,我在Ca.h头文件中,定义了函数原型。
#pragma once

class Ca
{
public:
Ca(void);
~Ca(void);
int Sum(int i, int j);//这个是我自己定义的一个方法
};
然后,是Ca.cpp的类的源代码:
#include "StdAfx.h"
#include "Ca.h"

Ca::Ca(void)
{
}
Ca::~Ca(void)
{
}
int Sum(int i, int j)
{return (i+j);}
最后,是我在主函数调用的时候。
代码如下:
#include "stdafx.h"
#include "iostream"
#include "Ca.h"
using namespace std;

int main()
{
Ca c;
c.Sum(1,2);

return 0;
}
然后,编译,报错:
错误 1 error LNK2019: 无法解析的外部符号 "public: int __thiscall Ca::Sum(int,int)" (?Sum@Ca@@QAEHHH@Z),该符号在函数 _main 中被引用 函数.obj 函数

错误 2 fatal error LNK1120: 1 个无法解析的外部命令 C:\Users\Philip\Desktop\Visual C++ test\函数\Debug\函数.exe 1

Ca::Ca(void)
{
}
Ca::~Ca(void)
{
}
int Sum(int i, int j)
{return (i+j);}
这里应该写成
int Ca::Sum.......

加到file view (文件视图)

或者你通过file->new 那加文件

呵呵,这个,你好多常识都不了解呢就开始写程序,这样会头大的。

就事论事,你定义那个类,上面那位仁兄已经说了要加类头,你在main函数里那样引用没结果的,你计算了的结果都不要。
//.......
ca c;
int res = c.sum(1,2);
printf("%d",res);

//.....
你试试看哈,我是很久没写这么古老的程序了,没在VS2008里调试

其实我建议你装VC++6.0写这样的程序,比较符合你的习惯和思维,然后熟悉了VC++6.0之后再升级到VS2008环境开发

使用 cout 要包含 #include<iostream>

输出是在 cmd 窗口里的,必须在输出语句的下一句里面设置个断点来观察。
或者VC的输出观察器也可以。