所谓"书越读越薄",这话说得真是有道理.
最近频繁面试,不得已重温了下primer.
1,C++语言设计的主要目标:允许程序员定义自己的类,它们用起来和内置类型一样容易直观.
2,在普通的非const成员函数中,this的类型是T * const,即:this本身不能改变.
3,如果返回类型使用类定义的类型,则必须使用完全限定名.
例如:
class Screen
{
public:
typedef std::string::size_type index;
index get_cursor() const;
};
inline Screen::index Screen::get_cursor() const //这里index
{
return cursor;
}
4,构造函数不能声明为const.
5,关于隐式类型转换
(1)可以用单个实参来调用的构造函数定义从形参类型到该类类型的一个隐式转换.
(2声明时使用关键字explicit抑制由构造函数定义的隐式转换.
注:explicit只能用于声明上.
6,static成员函数没有this形参,可以直接访问所属类的static成员,但不能直接使用非static成员.
static成员不是任何对象的组成部分,所以static成员函数不能被声明为const.
7,使用类的static成员的优点:
(1)作用域在类中,可以避免与其他类的成员或全局对象名字冲突.
(2)可以实施封装,static成员可以是私有成员
(3)static成员是与特定类关联的.
8,static关键字只能用于类体内部的声明中.
9,static数据成员必须在类定义体的外部定义(正好一次).
最好的做法:将static数据成员的定义放在包含类的非内联函数定义的文件中.
特别注意:只有const static数据成员可以在声明时初始化,但是仍然必须在类的定义体外定义一次.
如:
class Account
{
private:
static const int period = 30; // 声明和初始化
double daily_tbl[period]; // ok: period is constant expression
};
const int Account::period; //定义
static数据成员的类型可以是该成员所属的类型:
class Bar
{
public:
// ...
private:
static Bar mem1; // ok
Bar *mem2; // ok
Bar mem3; // error
};
static数据成员可以用作默认实参.
class Screen
{
public:
// bkground refers to the static member
// declared later in the class definition
Screen& clear(char = bkground);
private:
static const char bkground = '#';
};
分享到:
相关推荐
1:ls 显示文件目录 语法:ls 选项[-ald][文件或目录] 2:cat 显示文件内容(内容少适合) 语法:cat[文件名] 3:tac 显示文件内容 语法:tac[文件名] 4:more 分页显示文件内容(只能往下翻页,不能往上反) 语法:more...
基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io的语法,虚拟机方面的语法。历年常见面试题型,涵盖Java基础,javase,spring,srpingmvc,...
英语语法分类练习试题 试题加答案 非常实用 欢迎下载
类C语法脚本解释器。类C语法脚本解释器。类C语法脚本解释器。
2021届辽宁省高二上学期英语期末试题分类汇编:语法填空专题及答案.doc
2021届甘肃省高一上学期英语期末试题分类汇编:语法填空专题及答案.doc
日语N1级分类语法总结.doc
多年以前自编自用的c++语法快速参考 目录 1.格式化字符集: 2 2.标志符: 2 3.枚举类型: 2 4.其他类型: 2 5.类型定义: 2 6.运算符: 3 7.运算符优先级: 3 8.运算符类型自动转换: 3 9.流程控制语句: 3...
日语二级语法分类总结,本人原创,对考日语二级很有帮助。
类pascal语法分析程序,东华大学计算机系的作业,可以看看
主要介绍了C#基础语法:结构和类详解,本文总结了一些结构和类的不同之处并给出了测试区别特性代码,需要的朋友可以参考下
语法: 访问权限修饰符 class类名{ } 注意: 成员内部类中不能定义静态代码块,静态属性,静态方法 创建对象的方式: 内部类名 对象名=外部类对象.new 内部类类名(实参列表) 注意: 在该内部类所在的外部类的普通方法中...
浙江省宁波市余姚市2019-2021年(三年)七年级下学期期末考试英语试卷分类汇编:语法填空.pdf
vb语法高亮类
内部类分为成员内部类、静态嵌套类、方法内部类、匿名内部类。 几种内部类的共性: A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号。 B、内部类不能...
幸蒙十三豆斑竹馈赠一个VFP语法着色类,小可的工具才勉强算的上完善。该类由 ThornBird313 于 2005 年编写,经使用,发现其对大文件的转换速度比较慢,琢磨了几天,小改了一些代码逻辑和方式,大约可提速至少 30% 。...
2020年高中英语语法填空专题分类训练:定语从句(含详解).docx
浙江省部分学校2020-2021学年高二下学期期中联考英语试题分类汇编:语法填空.docx
ava基础 包含:Java入门 基础语法 JAVA 类和对象 JAVA 高级类 等等
1、较为详细地介绍了Kotlin的语法,在某些方面与Java的语法区别也做了说明,并指明一些Kotlin语句编译成Java语句的形式。讲述了Kotlin语言是一种强类型语言,所有数据类型都是类封装的,数据类型不能隐式转换,必须...