工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1747|回复: 11

C++急问!!

[复制链接]
发表于 2006-5-26 19:12 | 显示全部楼层 |阅读模式
请问下面这个程序哪里出错了啊??急啊,谢谢啊

#include <iostream>
#include <cstring>
using namespace std;
class TwoDShape {
   double width;
  double height;
  char name[20];
public:
TwoDShape(double w, double h, char *n) {
    width = w;
    height = h;
    strcpy(name, n);
  }
double getWidth() { return width; }
  double getHeight() { return height; }
  void setWidth(double w) { width = w; }
  void setHeight(double h) { height = h; }
char *getname {return name;}

};
class Triangle : public TwoDShape {
  char style[20]; // now private
public:

  Triangle(char *str, double w,
           double h) : TwoDShape(w, h, "triangle") {
    strcpy(style, str);
  }
  double area() {
    return getWidth() * getHeight() / 2;
  }

  
  void style() {
    cout<<"style is "<<style<<"\n";
  }
};

int main()
{
      Triangle t("right", 8.0, 12.0);  
      cout<<t.style()<<t.area();
      return 0;
}
 楼主| 发表于 2006-5-27 17:28 | 显示全部楼层
有谁救救我啊!◎!◎~
回复

使用道具 举报

发表于 2006-5-27 18:41 | 显示全部楼层
i think you should paste your errors first.
回复

使用道具 举报

发表于 2006-5-27 18:45 | 显示全部楼层
18行
char *getname {return name;}

少了()括号。
回复

使用道具 举报

发表于 2006-5-27 18:56 | 显示全部楼层
s.cc:36: error: declaration of `void Triangle::style()'
s.cc:22: error: conflicts with previous declaration `char Triangle::style[20]'
回复

使用道具 举报

发表于 2006-5-27 19:59 | 显示全部楼层
楼主可以写一点编译一点,错误就好找啦!
回复

使用道具 举报

发表于 2006-5-28 00:25 | 显示全部楼层
看不懂!!!
回复

使用道具 举报

发表于 2006-5-30 03:18 | 显示全部楼层
hjack 你应该说详细一点啊,呵呵。我们学校有很多初学者。失眠,唉。
回复

使用道具 举报

发表于 2006-5-30 09:04 | 显示全部楼层
  1. 调试ing...
复制代码

[ 本帖最后由 iptton 于 2006-5-30 09:57 编辑 ]
回复

使用道具 举报

发表于 2006-5-30 10:13 | 显示全部楼层
OK,

错误1:在4楼已说了,少了个括号。

错误2:变量style[] 和 方法void style() 有命名冲突。建议把方法style()改为getStyle()。

错误3:在main()中,cout<<t.style()<<t.area();会出错,因为t.style()里面也是一个cout<<操作,而是不返回一个变量值给main里的cout输出。

改正建议:
1.添上括号,
2.把void style()改为void getStyle()
3.在main里直接用t.getStyle()访问,输出style.
回复

使用道具 举报

发表于 2006-5-30 10:27 | 显示全部楼层
但是这样改之后在vc里可以编译通过。但在gcc里却不行。目前还想不明白为什么。
回复

使用道具 举报

发表于 2006-5-30 18:24 | 显示全部楼层
原帖由 hjack 于 2006-5-30 10:27 发表
但是这样改之后在vc里可以编译通过。但在gcc里却不行。目前还想不明白为什么。


gcc里面可没有vc的字符串类。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-8-30 22:50

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表