c++ 基本操作 知识点

看了一遍书,还是理解的不够。那就从历年的考题中,来学习吧,挖掘他的考点,挖掘我们课本上当时不理解的知识点。题不再多,而在于精,自然有必要好好研究研究。一下是结合真题参考答案和自己的理解。也依靠博客,和广大的要考C++的同学们一起交流,多多指点。

关键词

构造函数 成员函数及其调用


首先来看一道基本操作真题。

题目

改错。输出结果为:The value is 10

// proj1.cpp
#include <iostream>
using namespace std;


class MyClass {
    int value;
public:
// ERROR  ********found********
  void MyClass(int val) : value(val) {}
  int GetValue() const { return value; }
  void SetValue(int val);
};


// ERROR  ********found********
inline void SetValue(int val) { value = val; }


int main()
{
  MyClass obj(0);
  obj.SetValue(10);
// ERROR  ********found******** 下列语句功能是输出obj的成员value的值
  cout << "The value is " << obj.value << endl;
  return 0;
}

正确答案

(1)MyClass(int val) : value(val) {} 

(2)void MyClass::SetValue(int val) { value = val; } 

(3)cout<< "The value is "<< obj.GetValue()<< endl; 

我的挖掘

(1)构造函数

是什么:

用于对象初始化的函数,即为对象的数据成员赋初值。由于类的封装性,不允许在类的非成员函数中直接访问类对象的私有和保护数据成员。因此,对类对象数据成员的初始化工作就落到了类对象的成员函数身上,因为他们可以访问类对象的私有和保护数据成员。这就专门用到了构造函数。

用法:

     a与类名完全相同。(一般成员函数不能和类名相同)

     b 用于定义初始化的状态,没有返回值,也不能用void来修饰,这就保证了他不用自动返回值。

     c 不能被直接调用。

因此该题中,不能用void。


(2)成员函数定义

    a 简单的说,类是一个包含函数的结构体。类的成员有数据成员与函数成员两        类。数据成员称为属性。而函数成员描述类的行为,称为方法。函数成员有函      数构成,因此也叫成员函数。

   b 函数成员可以放在类中定义,也可以放在类外。放在类中定义的成员函数为内      联(inline)函数。c++可以再类内声明成员函数的原型,在类外定义函数        体。这样使我们对成员函数的功能一目了  然。

   c 类外定义函数体的格式:

返回值类型  类名 ::成员函数名(形参表)
{
函数体;
}

此题,在类外什么成员函数,因此不是内联函数。函数返回值 可以在类中找到。

因此答案为void MyClass::SetValue(int val) { value = val; } 


(3) 类的定义及成员函数定义

a默认访问权限为privatev.

        b 成员函数调用,value是私有成员,私有成员只能被类的成员函数调用。           所以在主函数中不能直接

     调用value,可以使用成员函数GetValue()来得到value的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 26
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值