| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 390 人关注过本帖
标题:请教一个比较基础的问题。。
只看楼主 加入收藏
sunflower44
Rank: 1
等 级:新手上路
帖 子:23
专家分:1
注 册:2011-8-15
结帖率:80%
收藏
 问题点数:0 回复次数:5 
请教一个比较基础的问题。。
下面的代码,能被正确编译的是1、2、3、4哪个?
程序代码:
class Test{
public:
    Test(){a=0;c=0;} //1
    int f(int a)const{this->a=a;} //2
    static int g(){return a;} //3
    void h(int b){Test::b=b;} //4
private:
    int a;
    static int b;
    const int c;
};
int Test::b=0;


我只感觉4错了额,静态数据成员只能被初始化一次。
还有哪几行是错的?请教各位哈,这是二级C++模拟题中的一道

[ 本帖最后由 sunflower44 于 2011-9-4 17:34 编辑 ]
搜索更多相关主题的帖子: 基础 color 
2011-09-04 17:04
sunflower44
Rank: 1
等 级:新手上路
帖 子:23
专家分:1
注 册:2011-8-15
收藏
得分:0 
还有这个
程序代码:
class AA{
    int a;
public:
    int geRef()const{return &a;}//1
    int getValue()const{return a;}//2
    void set(int n)const{a=n;}//3
    friend void show(AA aa)const{cout<<a;}//4
}
下列四个函数定义正确的是?
我选的3,答案给的2,求详解。。。
2011-09-04 17:36
我是菜鸟C
Rank: 4
等 级:业余侠客
帖 子:74
专家分:200
注 册:2011-3-27
收藏
得分:0 
以下是引用sunflower44在2011-9-4 17:04:48的发言:

下面的代码,能被正确编译的是1、2、3、4哪个?class Test{
public:
    Test(){a=0;c=0;} //1 错误,c是const,不能这样初始化。
    int f(int a)const{this->a=a;} //2 错误,f被你定义成了常成员函数,其左值为const 而a不是。
    static int g(){return a;} //3 错误,静态成员函数不能直接调用非静态数据成员,除非通过对象名。
    void h(int b){Test::b=b;} //4
private:
    int a;
    static int b;
    const int c;
};
int Test::b=0;
 
 
#include <iostream>
using namespace std;
class Test{
public:
    Test(int a=0,const int c=0); //1
    int f( int a)  {this->a=a;} //2
    static int g(Test &t){return t.a;} //3
    void h(int b){Test::b=b;} //4
private:
    int a;
    static int b;
    const int c;
};
int Test::b=0;
2011-09-04 20:05
cnwppp
Rank: 2
等 级:论坛游民
帖 子:18
专家分:19
注 册:2011-8-4
收藏
得分:0 
静态常量成员才是只能初始化一次,b是非const的static。

用const修饰的成员函数是不能改变参数的,void set(int n)const{ a=n;}//3------错误!
2011-09-04 21:06
sunflower44
Rank: 1
等 级:新手上路
帖 子:23
专家分:1
注 册:2011-8-15
收藏
得分:0 
回复 4楼 cnwppp
那静态常成员常量怎么初始化?就是那个c
2011-09-04 22:37
cnwppp
Rank: 2
等 级:论坛游民
帖 子:18
专家分:19
注 册:2011-8-4
收藏
得分:0 
静态成员常量是在定义时初始化
2011-09-05 12:31
快速回复:请教一个比较基础的问题。。
数据加载中...
 
   



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

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