float y = vec.y;
相对应地,我们指定方法 multiply
是公共的(public),在类的外部也可以访问。也就是说,上一个例子中的 lhs.multiply(rhs)
是合法的。
你可能会思考,在不指定 private
或 public
的情况下,定义的成员或方法是私有的还是公共的呢?
事实上,在 C++ 的类中,不指定访问控制时,定义的成员和方法都默认是私有的。也就是说,在一开始的例子中,lhs.multiply(rhs)
实际上是非法的。
与之相对地,C++ 中的结构体在不指定访问控制时,定义的成员和方法默认是公共的。实际上,C++ 中的类与结构体只有这一点区别。因此,我们在一开始才会说,比起 C 语言中的结构体,其结构与功能与 C++ 中的类更为接近。
4 C++ 风格的输入/输出
4.1 简单的输入/输出
在 C 语言中,我们的输入/输出主要是通过 scanf
和 printf
(或者,更安全的 scanf_s
和 printf_s
)完成的,我们需要使用一个格式字符串来指定输入和输出的参数、格式,紧接着,我们要传递想要输入/输出的变量。特别地,当我们传递用于存储输入的变量时,我们需要使用传指针的方式。
然而,在 C++ 中,我们可以使用更为简单的方式来实现输入/输出。以下面的程序为例: