[c++学习]关于const使用的疑惑
2018-02-06 04:00
260 查看
[c++学习]关于const使用的疑惑
如代码行所标注的地方的const和&的用法和其含义不是很明白,希望已经掌握此用法的同学帮我解答一下:-P,对了书中还提到了保留setgolf()的交互版本,但要用构造函数来实现它(例如,setgolf()的代码应该获得数据,将数据传递给构造函数来创建一个临时对象,并将其赋给调用对象,即*this)。请问这句话能顺带解释一下吗?尤其是“要用构造函数来实现它”。//ex10.3 //golf.h #ifndef GOLF_H_ #define GOLF_H_ class Golf { private: static const int Len = 40; char fullname[Len]; int handicap; public: Golf(); Golf(const char * name, int hc); const Golf & setgolf(const Golf & g); //这里的const 和&号不是很明白 void showgolf() const; }; #endif //golf.cpp #include <iostream> #include <cstring> #include "golf.h" Golf::Golf() { strcpy(fullname, "No Name"); handicap = 0; } Golf::Golf(const char *name, int hc) { strcpy(fullname, name); handicap = hc; } const Golf &Golf::setgolf(const Golf &g) //这里的const 和&号不是很明白 { strcpy(fullname, g.fullname); handicap = g.handicap; return *this; } void Golf::showgolf() const { std::cout << "Golfer: "<< fullname << "\n"; std::cout << "Handicap: " << handicap << "\n\n"; } //main #include <iostream> #include "golf.h" int main() { Golf golger1("Ann Birdfree", 5); golger1.showgolf(); Golf golger2; golger2.setgolf(golger1); golger2.showgolf(); return 0; }
相关文章推荐
- 【C学习笔记】【疑问】关于const常量的实现机制在C和C++中的不同
- C++之父元旦专访(8+13个问题,关于C++的学习&使用和未来)
- C++之父元旦专访(8+13个问题,关于C++的学习&使用和未来)
- C++学习笔记7,const关键字的使用(一)。
- 我的C++学习日记——关于const数值变量,指针和引用的理解
- 关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性。
- C++之父元旦专访(8+13个问题,关于C++的学习&使用和未来)
- C++中关于const关键字的使用
- C++学习笔记(六):关于ifdef 和ifndef的使用
- C++关于const_cast的一点疑惑
- C++学习笔记,关于一个文件中的全局变量在其他文件中的使用
- C++学习(4)--基础知识(4)--关于const
- 关于C/C++中静态本地变量的使用与数据类型修饰符const
- C++之父元旦专访(8+13个问题,关于C++的学习&使用和未来)
- C++之父元旦专访(8+13个问题,关于C++的学习&使用和未来)
- C++之父元旦专访(8+13个问题,关于C++的学习&使用和未来)
- C/C++学习(2)关于strcpy、strcat函数使用
- C/C++中关于地址、指针和引用变量的学习笔记(六) : const和void
- 关于C++中sort函数所使用的cmp函数中的&的疑惑
- 今天学习了关于C++ 中可变参数个数函数的使用!