首页 > 试题广场 >

print()函数是一个类的常成员函数,它无返回值,下列表示

[单选题]
print()函数是一个类的常成员函数,它无返回值,下列表示中正确的是()
  • const void print();
  • void const print();
  • void print() const;
  • void print(const);
const void print(const int num)const 第一个const修饰返回类型 第二个const修饰参数 第三个const修饰调用对象
发表于 2016-07-07 16:56:20 回复(0)
const修饰类的成员函数,一般放在函数体后,如 void fun() const; 
常成员函数声明:形如 void funcName(参数表) const; 
对于常成员函数需要注意:
1、其实现部分也要带const关键字;
2、不能修改类的成员变量,不能调用类中没有被const修饰的成员函数(即只能调用常成员函数);
其他参考:http://www.cnblogs.com/this-543273659/archive/2011/07/18/2109922.html
发表于 2016-06-26 10:46:52 回复(0)
1、成员函数后加const修饰,是为了保证对象的值不被修改;
2、函数返回值加const修饰,是为了保证其不能为左值,也就是修改的值;
发表于 2020-10-18 21:48:13 回复(0)
常成员函数含义是通过该函数只能读取同一类中的数据成员的值,而不能修改它。
规则:
    1.常成员函数不能更新对象的数据成员
    2.当一个对象被声明为常对象,则不能调用该类中的非const成员函数
常成员函数格式:
    类型说明符 函数名(参数表)const;
    int GetX() const;     //声明常成员函数
编辑于 2022-02-11 12:11:28 回复(0)
常成员函数格式:
类型说明符 函数名(参数表)const;
int GetX() const; //声明常成员函数
编辑于 2016-05-30 14:51:40 回复(0)
const void print (const int &a) const 
(1)第一个const修饰返回类型(这里是无返回值类型,若是有返回值则是不可修改返回值);
(2)第二个const修饰参数,表示函数体内该参数不可被修改;
(3)第三个const在函数名后面,表示的是常成员函数,即只能在类中出现。
发表于 2023-07-09 16:03:57 回复(0)
const修饰类的成员函数,一般放在函数体后,如 void fun() const; 
常成员函数声明:形如 void funcName(参数表) const; 
对于常成员函数需要注意:
1、其实现部分也要带const关键字;
2、不能修改类的成员变量,不能调用类中没有被const修饰的成员函数(即只能调用常成员函数);
发表于 2016-09-23 09:01:34 回复(0)
常成员函数的说明格式如下:
类型说明符 函数名(参数表)const;
发表于 2016-05-08 19:55:40 回复(1)
在C++中,"const"关键字可以应用于函数的参数、函数的返回值以及成员函数。

1. 参数为const:
void printValue(const int value) {
    // value = 10;  // 错误,无法修改const参数
    std::cout << value << std::endl;
}

int main() {
    int num = 5;
    printValue(num);  // 传入num的值作为const参数
    return 0;
}


在上述例子中,参数value被声明为const int,表示在函数内部不允许修改它的值。如果尝试修改value的值,编译器会报错。

2. 返回值为const:
const int getValue() {
    return 5;
}

int main() {
    const int result = getValue();  // 将返回值作为const变量保存
    // result = 10;  // 错误,无法修改const变量
    std::cout << result << std::endl;
    return 0;
}


在上述例子中,函数getValue()的返回值被声明为const int,表示返回的值是只读的。在主函数中,将返回值保存在const变量result中,这样就无法修改result的值。

3. 成员函数为const:
class MyClass {
public:
    void printValue() const {
        // value = 10;  // 错误,无法修改成员变量
        std::cout << value << std::endl;
    }

private:
    int value = 5;
};

int main() {
    const MyClass obj;
    obj.printValue();  // 调用const成员函数
    return 0;
}


在上述例子中,成员函数printValue()被声明为const,表示在函数内部不允许修改成员变量的值。在主函数中,创建了一个const对象obj,并调用了其const成员函数printValue()。这样可以确保在调用const成员函数时,不会修改对象的成员变量。
发表于 2023-09-30 19:54:36 回复(0)

当我们说print()是一个类的常成员函数时,这意味着该函数不会修改它所属的对象的任何数据成员,并且可以在常对象上调用。

选项中,只有一个表示方法能正确地声明常成员函数:

C.void print() const;

这告诉编译器print()函数不会修改它所属的对象。

其他选项的解释:

A.const void print();这表示函数返回一个const void类型,这实际上是没有意义的,因为void本身就意味着没有返回值。

B.void const print();这与 A 是相同的,只是关键字的位置不同。

D.void print(const);这是不完整的。它似乎试图声明一个带有const参数的函数,但未指定参数的类型。

因此,正确的答案是 C。

发表于 2023-10-20 19:26:10 回复(0)
应该是考察void类型,void不能跟修饰关键字的
发表于 2016-05-05 10:57:56 回复(0)
const void print(const int a)const 第一个const表示返回值的类型,第二个const表示传入参数的值不可改变,第三个const表示常成员函数
发表于 2023-07-18 20:30:24 回复(0)
牛啊
发表于 2023-03-02 23:47:53 回复(0)
const void print(const int num)const 第一个const修饰返回类型 第二个const修饰参数 第三个const修饰调用对象
发表于 2021-11-03 15:23:59 回复(0)
const  优先修饰左边,左边没有东西时修饰右边,这里const是修饰类的成员函数,而不是返回类型,所以放在函数的右边。
发表于 2021-09-04 15:42:48 回复(0)
D为什么是错的?
发表于 2020-12-03 21:11:51 回复(0)
const 一般放在函数的最后
发表于 2017-03-09 08:57:41 回复(0)