已采纳回答 / Hello_W_ang
#include<iostream>#include<string>#include"teacher.h"using namespace std;void teacher::tec(string name,int age){ m_strName=name; m_iAge=age;}string teacher::getName(){return m_strName;}int teacher::getAge(){return m_iAge;}int main(){ teacher t...
2016-10-27
已采纳回答 / GOTZE
你是指:直接在类定义中给成员变量赋初值吗? 如: class A { const int a = 10;}; 这样写在C++11中是可以的。这个特性叫:in-class initializer在老标准中,只有当成员变量是整型static const时,才能在类内初始化
2016-10-24
已采纳回答 / LingDu丶
使用stringstream对象简化类型转换具体用法:头文件:#include <sstream>stringstream ss; //定义流 string name = "lingdu"; //准备好的字符串 int c = name.size() ; //size()返回一个int类型变量,将获取到的整数给到变量c ss << c; //向流中传值 string str; //定义str,用于保存转换后的string ss >> str;...
2016-10-22
已采纳回答 / Lowlatition
构造函数是指,在类实例化成对象时会调用的一个函数,具体作用嘛,举个栗子<...code...>于是这里我们就需要构造函数,在“构造”对象时发挥作用,去初始化对象的状态。拷贝构造函数其实与构造函数很相似,只不过他是在拷贝生成一个对象时发挥作用。具体描述参考http://blog.csdn.net/lwbeyond/article/details/6202256 这位前辈写得非常精致~
2016-10-18
已采纳回答 / 慕莱坞4132929
如果是空括号,都是调用缺省构造器,加不加效果一样 ------解决方案--------------------对于自定义类型,调用的都是默认构造函数,没区别的。只不过对于内建类型不太一样,加了扩号会做默认值初值化,比如:int* p = new int;//p指向的int值是不确定的;int* q = new int();//q指向的int值为0。
2016-10-06
已采纳回答 / 慕姐3585284
cin读取一个单词,以空格、tab、回车作为判定分隔符;getline读取一行,以回车作为分隔符。例如,你输入的名字是Michael Jordan,使用cin只读取到Michael,而使用getline就可以读取完整的名字。
2016-09-21
已采纳回答 / s_word
所有使用了include的地方,你可以理解为将被包含的文件内容原样拷贝到该位置。所以,如果a.cpp在文件头包含了a.h,然后a.h在文件头包含a.cpp,那就会成为一条首尾相衔的蛇,陷入无限循环。换句话说,a.h不能包含a.cpp,完全没这个必要,因为a.h没有用到a.cpp中的任何东西。为什么demo里包含了a.h,却能用上a.cpp里的东西?其实a.cpp是和main一起被编译到同一个project中的,在文件包含关系上并没有体现出来。demo包含了a.h的话,就能获得a中所有属性和方法的定义,便能...
2016-08-31
已采纳回答 / 幕间客
const double pi = 314; //正确const double pi; pi = 2.0; //错误可见初始化的"="与赋值的"="性质完全不一样,不是简单的赋值可以参考一下这段回答http://tieba.baidu.com/p/2212411930
2016-08-29