C++, 类的构造函数 语法练习
2012-10-03 14:49
148 查看
#include <iostream> #include <string> using namespace std; class Student { public: // 存 void setname(string s){ name = s;} void setage(int y){age = y; } void setaddress(string add){address = add;} // 取 string getname(){return name;} int getage(){return age;} string getaddress(){return address;} Student & show() { cout<<"调用成员函数show----------------------------------------"<<endl; cout<<"姓名: "<<name<<" --- 年龄: "<<age<<" ---- 住址: "<<address<<endl; return *this; } //-- 引入构造函数:初始化成员,与类同名,没有返回值 Student(string na,int ag,string addr) { this->name = na; this->age = ag; this->address = addr; cout<<"调用构造函数----------------------------------------"<<endl; cout<<"姓名: "<<this->name<<" --- 年龄: "<<this->age<<" ---- 住址: "<<this->address<<endl; } protected: private: string name; int age; string address; }; int main(void) { // 对应对象x后,自动调用构造函数来初始化成员. Student x("柳絮飘",22,"学明路115号"); x.show(); x.setname("柳絮"); x.show(); // ---- return 0; }
--
----
构造函数 初始化另外一个写法:
//-- 引入构造函数:初始化成员,与类同名,没有返回值
Student(string na,int ag,string addr):name(na),age(ag),address(addr)
{
cout<<"调用构造函数----------------------------------------"<<endl;
cout<<"姓名: "<<this->name<<" --- 年龄: "<<this->age<<" ---- 住址: "<<this->address<<endl;
}
觉得没有必要搞多种写法,搞那么多选择,毫无必要,反而增加程序员的学习时间和沟通成本.
相关文章推荐
- C# 语法练习(11): 类[三] - 构造函数、析构函数、base、this
- 练习1-24: 编写一个程序,查找C语言程序中的基本语法错误,如圆括号,方括号以及花括号不配对等。要正确的处理引号(包括单引号,双引号)~转移字符序列与注释(如果读者想把该程序编写成完全通用的程序,难度会比较大。)
- codevs1281 矩阵乘法 快速幂 !!!手写乘法取模!!! 练习struct的构造函数和成员函数
- C#在构造函数中调用构造函数的方法(语法)
- OC中的点语法,成员变量,@property和@synthesize:id类型,构造函数
- sql语法练习(一)
- javascript语法之函数案例练习
- 习题(练习类、构造函数和static关键字)
- 构造函数可以调用虚函数吗?语法上通过吗?语义上可以通过吗?
- java日常学习:构造函数练习
- c++基础语法(构造函数和析够函数)
- 构造函数和析构函数,拷贝构造,赋值重载,调用练习
- [php学习二]基本语法练习二
- c++基础语法:构造函数初始化列表
- c++笔记03---构造函数,初始化表,文件分类,钟表练习,析构函数,this 指针
- shell基本语法练习
- codevs1281 矩阵乘法 快速幂 !!!手写乘法取模!!! 练习struct的构造函数和成员函数
- Markdown语法入门练习
- C# 语法练习(5): 语句
- javascript语法之函数案例练习