-
拷贝构造函数的参数是确定的,不能重载
查看全部 -
当没有自定义拷贝构造函数时,会自动生成拷贝构造函数。
自定义拷贝构造函数 Teacher(const Teacher & t) 拷贝构造函数也可以接初始化列表参数。
Teacher t2=t1; Teacher t3(t1);
调用函数传递Teacher类型参数时fun(t1)
查看全部 -
拷贝构造函数
若没有自定义的拷贝构造函数则系统自动生成一个默认的拷贝构造函数;
当采用直接初始化或复制初始化实例化对象时,系统自动调用拷贝构造函数。
查看全部 -
初始化的使用
介绍:Teacher/*类名*/(string name)/*y有无参数*/:m_strName(name)
例子:Teacher(string name):m_strName(name)
查看全部 -
#include<iostream>
#include<stdlib.h>
#include<string>
using namespace std;
class Student
{
public://public在函数的任何位置,任何类中都可以被调用
void getName(string _name)
{
m_strName=_name;
}
string backName()
{
return m_strName;
}
void getGender(string _gender)
{
m_strGender=_gender;
}
string backGender()
{
return m_strGender;
}
void initScore()
{
m_iScore=0;
}
void getScore(int _score)
{
m_iScore+=_score;
}
int backScore()
{
return m_iScore;
}
private://private只能通过类自己的函数成员和友元函数进行访问
string m_strName;
string m_strGender;
int m_iScore;
};
int main(void)
{
Student stu;
stu.getName("zhangsan");
stu.getGender("boy");
stu.initScore();
stu.getScore(3);
stu.getScore(6);
cout<<stu.backName() <<" your gender is "<<stu.backGender() <<" and your score is "<<stu.backScore()<<endl;
system("pause");
return 0;
}
查看全部 -
默认构造函数
实例化对象时不需要传参的构造函数初始化列表
特性:初始化列表先于构造函数执行;
初始化列表只能用于构造函数;
初始化列表可以同时初始化多个数据成员;初始化列表存在的必要性:
查看全部 -
#include <iostream>
#include <string>
using namespace std;
/**
* 定义类:Student
* 数据成员:名字、年龄
*/
class student
{
public:
// 定义数据成员名字 m_strName 和年龄 m_iAge
string m_strName;
int m_iAge;//不用加【】
};
int main()
{
// 实例化一个Student对象stu
student stu;//注意
// 设置对象的数据成员
stu.m_strName = "慕课网";
stu.m_iAge = 2;
// 通过cout打印stu对象的数据成员
cout << stu.m_strName << " " << stu.m_iAge<< endl;
return 0;
}
查看全部 -
string类型
查看全部 -
内存分区
栈区内存自动分配/回收,堆区内存手动分配/回收。
构造函数
构造函数在对象实例化时被自动调用(被调用且仅被调用一次);
构造函数与类同名;
构造函数没有返回值;
构造函数可以有多个重载形式,重载规则与普通重载函数相同;
实例化对象时仅用到一个构造函数;
若用户未定义构造函数,编译器自动生成一个构造函数(但这个构造函数什么都不做)。
实例化调用构造函数:
Student s1;//调用了无参构造函数
Student s2("李田所");//调用了有参构造函数
查看全部 -
类内定义
在类的内部进行函数定义,编译时会自动优先将其内联编译(若函数逻辑较复杂则编译为普通函数)。
类外定义
一、同文件类外定义
二、分文件类外定义
查看全部 -
string类型
string类型不能以用几个双引号相加的方式来赋值,即:
查看全部 -
析构函数执行在main函数的最后。
查看全部 -
对象
具体的事物
类
由对象中抽象出来的,出于不同目的,同一个对象可以抽象成不同的类。
查看全部 -
拷贝构造函数不可以重载
查看全部 -
函数getline(cin,name),指用户输入的字符串赋值给name,如果用户输入imooc,则name="imooc";如果用户输入回车,则name为空的字符串。
查看全部
举报