高分求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
//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