高分求C++连接错的原因

来源:百度知道 编辑:UC知道 时间:2024/06/25 07:43:42
程序如下:
//Animal.h
#pragma once
#include <iostream>
using namespace std;

class Animal
{
public:
Animal(int);
Animal();
~Animal(){};

int GetWeight() const {return itsWeight;}
void Display() const {cout<<itsWeight;}
private:
int itsWeight;
};
//Animal.cpp
#include "Animal.h"
Animal::Animal(int weight):
itsWeight(weight)
{
}

Animal::Animal():
itsWeight(0)
{
}
//Array.h
#pragma once
const int DefaultSize=10;
template <class T>
class Array
{
public:
Array(int itsSize=DefaultSize);
Array(const Array &rhs);
~Array() {delete [] pType;}

Array &operator=(const Array &);
T &operator[](int offset) {return pType[offset];}
const T &operator[] (int offset) const
{return pType[offset];}
int GetSize() const {return itsSize;}

friend

大部分编译器不支持 模板的编译分离模式
所以只能把类的声明和定义写到同一文件当中

帮你运行了下,发现出错理由为:fatal error C1083: Cannot open include file: 'Animal.h': No such file or directory Error executing cl.exe.

{ Animal.h这个问题不存在或者路径不对,找到问题所在了,所以,我把你下面4句头文件的语句去掉~~,再运行了下,可以,有结果出来;请看下面:}

//Animal.h

#pragma once

#include <iostream>

using namespace std;

class Animal

{

public:

 Animal(int);

 Animal();

 ~Animal(){};

 int GetWeight() const {return itsWeight;}

 void Display() const {cout<<itsWeight;}

private:

 int itsWeight;

};

//Animal.cpp

#include "Animal.h"//去掉这个

Animal::Animal(int weight):

itsWeight(weight)

{

}

Animal::Animal():

itsWeight(0)

{

}

//Arr