| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 870 人关注过本帖
标题:<求助>改错题,帮忙看一下怎么做.
只看楼主 加入收藏
逃离色彩
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-12-10
收藏
 问题点数:0 回复次数:5 
<求助>改错题,帮忙看一下怎么做.
1、  char *ptr=new char[20];
     delete  ptr;

2、  class  A
     {   
         private:
           int x=2, y=6;
};

3、  template  <T, S>
     T  add(T x, S y)
     {  return  x+y;  }

4、声明类date的析构函数
     void  ~date(int, int, int);

5、int fun(int i, int j)  
   {   int x=i+j;
int y=i-j;
return  x, y;
}

6、void add(int x, int y)
   {  return x+y;  }

7、声明类date的析构函数
    ~date(int, int, int);

8、声明类date的构造函数
     void date(int y, int m, int d);

9、 int ptr=new int(5);
    delete  ptr;

10、int const a=15;
int b=7;
a=a+b;

11、int a, b;
int * const p=&a;
p=&b;

12、 void main( )
     {  cout<<x;
int x=7;
     }

13、char *string;
string=new char[20];
free(string);

14、int x;
    const int y=x;

15、float a, &b;
    b=a;

16、定义重载函数add( ):
double add(int,int);
     int add(int,int);

17、在类date中声明如下的函数:
int date(int y, int m, int d);

18、int a=8;
int * const p=&a;
*p=18;

19、int a=8;
int const *p=&a;
*p=18;

20、int a, b;
int const *p=&a;
p=&b;
搜索更多相关主题的帖子: int date void ptr 改错 
2008-05-13 22:07
dubaoshi
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2006-9-22
收藏
得分:0 
我也是新手,就我知道的说一下哈,错误的地方请大家指正
1、删除数组应该:
delete  [] ptr;
2、int x=2, y=6;应为int x,y;不能在这里初始化,应该在构造函数里完成
3、可以x+y这样吗?数据类型好象不相同,不能这样用吧
4、void  ~date(int, int, int);析构函数不能有返回数据类型,应为~date();
5、return  x, y;不能直接返回多值
6、void add(int x, int y)的返回类型为void,不能有return x+y;返回值
7、同第5题,声明类date的析构函数应为~date();,析构函数不能有返回类型,也不能有参数(本来第5题我也做错了)
8、8、声明类date的构造函数void date(int y, int m, int d);,构造函数也不能有返回类型,应为date(int y, int m, int d);
9、int ptr=new int(5);中的ptr是整形变量而为指针,所以定义就不对了,应为int *ptr=new int(5),这样才能delete ptr;
10、int const a=15;int b=7;a=a+b;,第一句把a声明为const型变量,不能由a=a+b来修改a的值
11、int * const p=&a;p被定义为const型的指针,不能改变其所指向的变量,但可以改变变量的值
12、cout<<x;int x=7;应前向声明,顺序颠倒了
13、好象不大完整,在这里我认为是free(string);没有被声明,用不了
14、const int y=x;y的值应该在编译期间就被确定,不能用变量来定义
15、&b在声明时就应被初始化
16、double add(int,int);int add(int,int);只是返回类型不同,而重载函数应该是参数的类型或数量不同
17、int date(int y, int m, int d);类date的这个函数要么改个名字,要么做为构造函数,去掉前面的int
18、int * const p这样的定义,p不能指向其它变量,也不能指向常量
19、int a=8;int const *p=&a;中指针p所指的类型为int const,而a为int型,所以可以指向a,但不能由*p来修改数值,*p=18错误,不能指向常量
20、没错啊,原因同上,只是不能由*p来修改所指向的数值


人行善,福虽未至,祸已远离;人行恶,祸虽未至,福已远离.
2008-05-14 09:16
zjl138
Rank: 1
等 级:新手上路
威 望:1
帖 子:788
专家分:0
注 册:2007-11-12
收藏
得分:0 
13、new分配的内存只能用delete释放。

i like linux...
2008-05-14 09:28
dubaoshi
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2006-9-22
收藏
得分:0 
呵呵这样啊,第13题的free是关键字,我没用过,呵呵,我笨哟~~~

人行善,福虽未至,祸已远离;人行恶,祸虽未至,福已远离.
2008-05-14 09:35
zjl138
Rank: 1
等 级:新手上路
威 望:1
帖 子:788
专家分:0
注 册:2007-11-12
收藏
得分:0 
在C语言中:free与malloc配对便用。
在C++语言中:new与delete配对使用。
两者不能混淆。
闪人了,要上课,呵呵。。。。一起努力。

i like linux...
2008-05-14 09:46
dubaoshi
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2006-9-22
收藏
得分:0 
C语言知道的不多,呵呵,谢谢楼上的朋友。

人行善,福虽未至,祸已远离;人行恶,祸虽未至,福已远离.
2008-05-14 10:17
快速回复:<求助>改错题,帮忙看一下怎么做.
数据加载中...
 
   



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

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