#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時該如何賦值?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.