#include <string>
#include <iostream>
class Dog
{
public:
// 成员是reference或const时必须在初始化列表中进行赋值
Dog(std::string &name, int &age) : m_name(name), m_age(age){
std::cout << "Dog ctor called." << std::endl;
}
const std::string & getName() {
return m_name;
}
int getAge() {
return m_age;
}
protected:
private:
std::string &m_name;
const int m_age;
};
int main()
{
std::string name("huabao");
int age(5);
Dog adog(name,age);
name = "xinba";
std::cout << adog.getName() << std::endl; // 5
/* 类成员m_name是name的引用 */
std::cout << adog.getAge() << std::endl; // xinba
return 0;
}
数据成员是reference或const时该如何赋值?
最新推荐文章于 2021-10-31 01:24:38 发布