c++用流控制成员函数输出数据】的更多相关文章

#include<iostream> #include<iomanip> using namespace std; int main() { ; double b=314159.26; cout<<a<<endl; cout.unsetf(ios::dec); cout.setf(ios::oct|ios::showbase); cout<<a<<endl; cout.precision(); cout<<b<<…
类中成员函数与数据成员private/pubic/protected…
使用书上的一个课后题为例 有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学号,姓名,3们课程成绩),计算出每个学生的平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中. 屡次调试后,我编好的程序: #include<stdio.h> #include<stdlib.h> #define FWRITE int main(){ setbuf(stdout,NULL); struct student { int NUM; ]; ]; float aver;…
一.printf函数格式 printf函数具有强大的输出功能 %表示格式化字符串输出 目前printf支持以下格式的输出,例如: printf("%c",a);输出单个字符. printf("%d",a);输出十进制整数. printf("%f",a);输出十进制浮点数. printf("%o",a);输出八进制数. printf("%s",a);输出字符串. printf("%u",a…
代码: #include <iostream> using namespace std; class A{ public: void func1(){ cout<<"func1"<<endl; } void func1()const{ cout<<"const func1"<<endl; } void func2()const{ cout<<"const func2"<…
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zhuyingqingfen/article/details/31751111 先明白几个概念: 1. 常对象仅仅能调用常成员函数. 2. 普通对象能够调用所有成员函数. 3. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数.每次成员函数存取数据成员时,由隐含使用this指针.4. 当一个成员函数被调用时,自己主动向它传递一个隐含的參数.该參数是一个指向这个成员…
友元函数:不是类成员函数,是一个类外的函数,但是可以访问类所有成员. class Point{ public: friend void fun(Point t);//友元函数 private: int a; protected: int b; }; void fun(Point t) { t.a = ; t.b = ; cout << t.a << " " << t.b << endl; } int main() { Point test…
本文要点: 1.static成员它不像普通的数据成员,static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象,并不与该类的对象相关联! aka:每个static数据成员可以看成是类的一个对象,而不与该类定义的对象有任何关系! 2.static数据成员是存储在程序的静态存储区,而并不是在栈空间上 3.不能对static数据成员在类内部进行初始化,要初始化的话必须在类外进行定义.如果类中有多个static数据成员,static数据成员初始化的次序是按照static数…
在程序中一般用cout和插入运算符“<<”实现输出,cout流在内存中有相应的缓冲区.有时用户还有特殊的输出要求,例如只输出一个字符.ostream类除了提供上面介绍过的用于格式控制的成员函数外,还提供了专用于输出单个字符的成员函数put.如:    cout.put('a');调用该函数的结果是在屏幕上显示一个字符a.put函数的参数可以是字符或字符的ASCII代码(也可以是一个整型表达式).如    cout.put(65 + 32);也显示字符a,因为97是字符a的ASCII代码. 可以…
主函数文件,请直接关注自己写上去的代码: 直接看43行代码:#include "stdio.h"//要添加这个头文件 还有97行到112行:实现用HAL库函数和printf函数发送数据 /** ****************************************************************************** * File Name : main.c * Description : Main program body **************…
Java类中对数据成员.成员函数的访问限制修饰有:public.protect.private.friendly(包访问限制) public修饰的数据成员或成员函数是对所有用户开放的,所有用户可以直接调用. protect修饰的数据成员或成员函数对其子类(继承).朋友(同一包路径下)是可以直接调用的,但是在其他外部类(其他包下的类不可以直接调用,就变成私有的private). private修饰的数据成员或成员函数只可以在本类中使用,不可以被其他任何类访问(包括子类) 作用域 本类中 同一包路径…
普通函数指针:  "return_type (*ptr_name)(para_types) " 类成员函数指针: "return_type (class_name::*ptr_name)(para_types)" 类数据成员指针: "type class_name::* ptr_name"; C/C++: class Demo { public: Demo():data() { } int data; int show(int a,int b)…
C++类中谈到static,我们可以在类中定义static成员,static成员函数!C++primer里面讲过:static成员它不像普通的数据成员,static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象,并不与该类的对象相关联!这句话可能比较拗口,其实可以这么理解:每个static数据成员可以看成是类的一个对象,而不与该类定义的对象有任何关系!下面我们就来具体看看类中的static数据成员! 谈到数据成员,我们最先想到的应该是怎么去定义一个static数据成…
疑惑: static类型成员是类的全局变量,所有类的实例都享有这个变量,或者说这个变量不属于任何一个类的实例. static类型变量可以为private,或public或其他(static数据可以被继承吗?) <<静态数据变量的初始化 静态数据变量的显示初始化: 在头文件类定义中申明,在非inline函数所在文件初始化 <<const 类型的静态变量可以用于初始化数组 <<数组不能在类体内初始化,任何试图这样做的操作都将导致错误 <<类的成员函数可以直接访问…
当我们讨论指针时,通常假设它是一种可以用 void * 指针来表示的东西,在 x86_64 平台下是 8 个字节大小.例如,下面是来自 维基百科中关于 x86_64 的文章 的摘录: Pushes and pops on the stack are always in 8-byte strides, and pointers are 8 bytes wide. 从 CPU 的角度来看,指针无非就是内存的地址,所有的内存地址在 x86_64 平台下都是由 64 位来表示,所以假设它是 8 个字节是…
原创博客:转载请标明出处:http://www.cnblogs.com/zxouxuewei/ 成员函数属于一个类的成员,出现再类体中.可以被指定为公有,私有或受保护的. 1.在类外面定义成员函数时,需要用类名加作用域限定符(::),如下代码: #include <iostream> #include <string> using namespace std; class _test_myclass { public: void display(const int &val…
昨天去面试一家公司,面试题中有一个题,自己没弄清楚,先记录如下: class D { public: void printA() { cout<<"printA"<<endl; } virtual void printB() { cout<<"printB"<<endl; } }; main函数调用: D *d=NULL; d->printA(); d->printB(); 输出结果是? 当时想的是对象d直…
STL区间成员函数及区间算法总结 在这里总结下可替代循环的区间成员函数和区间算法: 相比单元素遍历操作,使用区间成员函数的优势在于: 1)更少的函数调用 2)更少的元素移动 3)更少的内存分配 在区间成员函数不适用的情况下也应该使用区间算法,至少,相比手写循环而言,它更加简单,有效,并且不容易出错: 区间成员函数 区间构造 标准容器都支持区间构造函数: container::container(InputIterator begin, // 区间的起点 InputIterator end); /…
成员函数:也叫方法 1.常用方法 比如:我们希望对象不但有属性,还希望他有行为.(行为在程序中要靠函数来体现)(1) 添加speak函数,输出我是一个好人 (2) 添加jisuan函数,可以计算从1+..+1000的结果 (3) 修改jisuan函数,该方法可以接收一个数n,计算从1+..+n的结果 (4) 添加add成员函数,可以计算两个数的和 function Person(name,age){ //这个就是使用传入的实际参数,去初始化属性. this.name = name; this.a…
getline函数的作用是从输入流中读取一行字符,其用法与带3个参数的get函数类似.即    cin.getline(字符数组(或字符指针), 字符个数n, 终止标志字符) [例13.7] 用getline函数读入一行字符. #include <iostream> using namespace std; int main( ) { ]; cout<<"enter a sentence:"<<endl; cin>>ch; cout<…
类成员函数指针: 用于访问类成员函数,和一般函数指针有区别. 类成员函数处理的是类数据成员,声明类成员函数指针的同时,还要指出具体是哪个类的函数指针才可以.调用时也要通过对象调用. 而对于类的静态成员函数,它是类对象共享的,且只能处理静态数据成员,所以它的函数指针可以类似一般函数指针一样使用. class Test { public: void fun(int); void fun(int) const; //重载函数,加一个const限制 static void fun_static(int)…
2.2  基本输入/输出流 听过HelloWorld.exe的自我介绍之后,大家已经知道了一个C++程序的任务就是描述数据和处理数据.这两大任务的对象都是数据,可现在的问题是,数据不可能无中生有地产生,C++程序也不可能凭空创造出来数据.那么,C++程序中的数据又从何而来呢? 在现实世界中,国与国之间的交流是通过外交官来完成的.在C++世界中,也有负责应用程序跟外界进行数据交流的外交官,它们的名字就是基本输入/输出流对象(iostream).一个C++程序在工作的时候,负责输入的外交官(istr…
[转] http://c.biancheng.net/cpp/biancheng/view/187.html 用类去定义对象时,系统会为每一个对象分配存储空间.如果一个类包括了数据和函数,要分别为数据和函数的代码分配存储空间. 按理说,如果用同一个类定义了10个对象,那么就需要分别为10个对象的数据和函数代码分配存储单元,如图8.4所示.                                                                               …
const 是constant 的缩写,“恒定不变”的意思.被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性.所以很多C++程序设计书籍建议:“Use const whenever you need”. 1.用const 修饰函数的参数 如果参数作输出用,不论它是什么数据类型,也不论它采用“指针传递”还是“引用传递”,都不能加const 修饰,否则该参数将失去输出功能.const 只能修饰输入参数: 如果输入参数采用“指针传递”,那么加const 修饰可以防止意外地…
一.以操纵子方式格式化 数据输入输出的格式控制使用系统头文件<iomanip>中提供的操纵符.把它们作为插入操作符<<的输出对象即可.如setiosflags.setw.setfill.setprecision.hex.oct等. (一).常用的流操纵算子: (二).ios类的枚举常量  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3…
最近在看C++动态绑定问题时(理解静态绑定时)发现的问题:能用空指针调用类的成员函数(gcc,vs2013下都可以). 例子: class animal { public: void sleep(){ cout << "animal sleep" << endl; } void breathe(){ cout << "animal breathe haha" << endl; } }; class fish :publ…
有些情况下,允许特定的非成员函数访问一个类的私有成员,同时仍阻止一般的访问,这是很方便做到的.例如被重载的操作符,如输入或输出操作符,经常需要访问类的私有数据成员. 友元(frend)机制允许一个类将对其非公有成员的访问权授予指定的函数或者类,友元的声明以friend开始,它只能出现在类定义的内部,友元声明可以出现在类中的任何地方:友元不是授予友元关系的那个类的成员,所以它们不受其声明出现部分的访问控制影响.通常,将友元声明成组地放在类定义的开始或结尾是个好主意. 1.友元函数 友元函数是指某些…
在继承关系里面, 在派生类中如果没有显示定义这六个成员 函数, 编译系统则会默认合成这六个默认的成员函数. 构造函数. 调用关系先看一段代码: class Base { public : Base() { cout << "B() " << endl; }~ Base() { cout << "~B() " << endl; } private: int _pri; protected: int _pro; publi…
static小结 static的引入 static 是C++中非经常常使用的修饰符,它被用来控制变量的存储方式和可见性. 函数内部定义的变量,在程序运行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数运行结束时会释放掉,这样就产生了一个问题:假设想将函数中此变量的值保存至下一次调用时.怎样实现? 最easy想到的方法是定义一个全局的变量.但定义为一个全局变量有很多缺点,最明显的缺点是破坏了此变量的訪问范围(使得在此函数中定义的变量.不只受此函数控制).而static变量能够…
用类去定义对象时,系统会为每一个对象分配存储空间.如果一个类包括了数据和函数,要分别为数据和函数的代码分配存储空间.按理说,如果用同一个类定义了10个对象,那么就需要分别为10个对象的数据和函数代码分配存储单元,如下图所示. 能否只用一段空间来存放这个共同的函数代码段,在调用各对象的函数时,都去调用这个公用的函数代码.如下图所示. 显然,这样做会大大节约存储空间.C++编译系统正是这样做的,因此每个对象所占用的存储空间只是该对象的数据部分(虚函数指针和虚基类指针也属于数据部分)所占用的存储空间,…