EffectiveC++第四章类和函数:设计与声明学习笔记
2010-02-10 12:35
246 查看
条款18: 争取使类的接口完整并且最小
代码#include <iostream>
#include <string>
using std::cout;
using std::endl;
using std::string;
class window {
public:
string name() const; // 返回窗口名
virtual void display() const // 绘制窗口内容
{ cout << "display window\n" << endl;}
};
class windowwithscrollbars: public window {
public:
virtual void display() const
{ cout << "display windowwithscrollbars\n"; }
};
void print( window w)
{
w.display();
}
//void print(window &w) // 二义性
void print(window *w)
{
(*w).display();
}
int main()
{
windowwithscrollbars w;
print(w); // display window
print( &w ); // display windowwithscrollbars
return 0;
}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
条款23: 必须返回一个对象时不要试图返回一个引用
据说爱因斯坦曾提出过这样的建议:尽可能地让事情简单,但不要过于简单。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
条款27: 如果不想使用隐式生成的函数就要显式地禁止它
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
代码#include <iostream>
#include <string>
using std::cout;
using std::endl;
using std::string;
class window {
public:
string name() const; // 返回窗口名
virtual void display() const // 绘制窗口内容
{ cout << "display window\n" << endl;}
};
class windowwithscrollbars: public window {
public:
virtual void display() const
{ cout << "display windowwithscrollbars\n"; }
};
void print( window w)
{
w.display();
}
//void print(window &w) // 二义性
void print(window *w)
{
(*w).display();
}
int main()
{
windowwithscrollbars w;
print(w); // display window
print( &w ); // display windowwithscrollbars
return 0;
}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
条款23: 必须返回一个对象时不要试图返回一个引用
据说爱因斯坦曾提出过这样的建议:尽可能地让事情简单,但不要过于简单。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
条款27: 如果不想使用隐式生成的函数就要显式地禁止它
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
相关文章推荐
- EffectiveC++第四章类和函数:设计与声明学习笔记
- JavaScript学习笔记:判断变量是否为undefined,判断变量和函数是否声明
- C语言学习笔记:13_变量和函数的声明与定义
- JavaScript学习笔记(十) 函数声明VS函数表达式
- Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
- PKU C++程序设计实习 学习笔记3 多态与虚函数
- Objective-C学习笔记(十三)——函数的声明与调用
- c++ primer 学习笔记7--函数返回声明
- Objective-C的.h与.m文件中公有和私有函数的声明和定义方式[学习笔记]
- C++ Primer 学习笔记12 函数(return语句、函数声明、局部对象、内联函数、类的成员函数、重载函数)
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第32讲_构造函数_成员函数详解_学习笔记_源代码图解_PPT文档整理
- JavaScript权威设计--命名空间,函数,闭包(简要学习笔记十二)
- php学习笔记之---[函数声明(二)]
- php学习笔记之---[函数声明(一)]
- Effective c++(笔记) 之 类与函数的设计声明中常遇到的问题
- javascript 函数声明和函数表达式的区别(学习笔记)
- C++学习笔记-函数声明
- Python3学习笔记06-循环设计、循环对象、函数对象、错误处理、动态类型