| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 647 人关注过本帖
标题:请问一下C++中 类的继承,我按照教科书里面的编程上机实验 但是却无法修正提 ...
只看楼主 加入收藏
subing4438
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-10-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
请问一下C++中 类的继承,我按照教科书里面的编程上机实验 但是却无法修正提示的错误,求帮忙!!
#include<iostream>
using namespace std;

class TVehicle
{
private:
    int m_wheels;
    float m_weight;
public:
    void initialize(int wheels,float weight);
    int GetWheels(void){return m_wheels;}
    float GetWeight(void){return m_weight;}

};

TVehicle::initialize (int wheels,float weight)
{
    m_wheels = wheels;
    m_weight = weight;
}

int main(void)
{
TVehicle.A;
A.initialize(4,6);
cout<<"交通工具有几个轮子"<<A.GetWheels()<<endl;
cout<<"交通工具有多重"<<A.GetWeight()<<endl;
getchar();
}
编译之后提示:::

1>正在编译...
1>paisheng.cpp
1>d:\my documents\documents\visual studio 2008\projects\派生类继承\paisheng\paisheng.cpp(17) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>d:\my documents\documents\visual studio 2008\projects\派生类继承\paisheng\paisheng.cpp(17) : error C2556: “int TVehicle::initialize(int,float)”: 重载函数与“void TVehicle::initialize(int,float)”只是在返回类型上不同
1>        d:\my documents\documents\visual studio 2008\projects\派生类继承\paisheng\paisheng.cpp(10) : 参见“TVehicle::initialize”的声明
1>d:\my documents\documents\visual studio 2008\projects\派生类继承\paisheng\paisheng.cpp(17) : error C2371: “TVehicle::initialize”: 重定义;不同的基类型
1>        d:\my documents\documents\visual studio 2008\projects\派生类继承\paisheng\paisheng.cpp(10) : 参见“TVehicle::initialize”的声明
1>d:\my documents\documents\visual studio 2008\projects\派生类继承\paisheng\paisheng.cpp(21) : error C2143: 语法错误 : 缺少“;”(在“.”的前面)
1>d:\my documents\documents\visual studio 2008\projects\派生类继承\paisheng\paisheng.cpp(21) : error C2059: 语法错误 : “.”
1>d:\my documents\documents\visual studio 2008\projects\派生类继承\paisheng\paisheng.cpp(26) : error C2065: “A”: 未声明的标识符
1>d:\my documents\documents\visual studio 2008\projects\派生类继承\paisheng\paisheng.cpp(26) : error C2228: “.initialize”的左边必须有类/结构/联合
1>        类型是“'unknown-type'”
1>d:\my documents\documents\visual studio 2008\projects\派生类继承\paisheng\paisheng.cpp(27) : error C2065: “A”: 未声明的标识符
1>d:\my documents\documents\visual studio 2008\projects\派生类继承\paisheng\paisheng.cpp(27) : error C2228: “.GetWheels”的左边必须有类/结构/联合
1>        类型是“'unknown-type'”
1>d:\my documents\documents\visual studio 2008\projects\派生类继承\paisheng\paisheng.cpp(28) : error C2065: “A”: 未声明的标识符
1>d:\my documents\documents\visual studio 2008\projects\派生类继承\paisheng\paisheng.cpp(28) : error C2228: “.GetWeight”的左边必须有类/结构/联合
1>        类型是“'unknown-type'”
1>生成日志保存在“file://d:\My Documents\Documents\Visual Studio 2008\Projects\派生类继承\paisheng\Debug\BuildLog.htm”
1>paisheng - 11 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

搜索更多相关主题的帖子: 编程 private include public return 
2011-10-23 16:59
nomify
Rank: 5Rank: 5
等 级:职业侠客
帖 子:79
专家分:366
注 册:2011-10-13
收藏
得分:20 
程序代码:
#include<iostream>
using namespace std;

class TVehicle
{
private:
    int m_wheels;
    float m_weight;
public:
    void initialize(int wheels,float weight);
    int GetWheels(void){return m_wheels;}
    float GetWeight(void){return m_weight;}

};

void TVehicle::initialize (int wheels,float weight)
{
    m_wheels = wheels;
    m_weight = weight;
}

int main(void)
{
    TVehicle A;
    A.initialize(4,6);
    cout<<"交通工具有几个轮子"<<A.GetWheels()<<endl;
    cout<<"交通工具有多重"<<A.GetWeight()<<endl;
    getchar();
    return 0;
}
2011-10-23 17:38
subing4438
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-10-23
收藏
得分:0 
谢谢,程序可以通过了,可以说下我错在哪里了吗?我看了一下代码 不明白我错在哪里?
2011-10-23 18:08
鑫乐源
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:27
专家分:150
注 册:2011-10-20
收藏
得分:0 
TVehicle::initialize 在定义时少了 void 返回类型,与声明不一样

不要和编译器比智商。
2011-10-23 20:34
快速回复:请问一下C++中 类的继承,我按照教科书里面的编程上机实验 但是却无法 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016998 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved