欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

C++ Primer 5th笔记(7)chapter7 类

发布时间:2025/3/21 c/c++ 26 豆豆
生活随笔 收集整理的这篇文章主要介绍了 C++ Primer 5th笔记(7)chapter7 类 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1.
1.1 成员函数通过一个名为this的额外的隐式参数来访问调用它的那个对象

1.2 常量成员函数(const member function)

std::string isbn() const{ return this->bookNo;}

常量对象,以及常量对象的引用或指针都只能调用常量成员函数。
对象是否const决定了它调用哪个版本,是const的还是不是const的。

1.3 从const成员函数返回*this

Screen myScreen; myScreen.display().set();

1.4 类相关的非成员函数

eg.类 Sales_data

istream &read(istream &is, Sales_data &item){}

2.合成默认构造函数(synthesized default constructor)

  • 如果类没有显式地定义构造函数,编译器会默认生成一个SDConstructor
  • 如果类包含有内置类型或者复合类型的成员,则只有当这些成员全部被赋予类内初始值时,这个类才可以有SDConstructor

3. =default

  • 告诉编译器这是一个默认的构造函数
  • 没有参数
struct Sales_data{Sales_data() = default; // }class classTest { public:classTest() = default; // classTest (float i){a = i;} private:int a; };

使用举例:

classTest obj;

4. 友元

令其他类或函数成为一个类的友元(friend)

5. struct和class的区别?

6. 类成员

class Screen { public:typedef string::size_type pos; //类型别名,别忘了啊using pos = std::string::size_type pos; //或者 private:pos cursor = 0; }

6.1 类成员作为内联函数

inline Screen &Screen::move(){}

7. mutable可变数据成员(mutable data member)

class ClxTest
{
  int GetOutputTimes() const;
private:
  mutable int m_iTimes;
};

void ClxTest::Output() const
{
 m_iTimes++;//可以改变,虽然是const函数
}

总结

以上是生活随笔为你收集整理的C++ Primer 5th笔记(7)chapter7 类的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。