C++ 类和对象浅解
2016-03-30 10:31
330 查看
#include<iostream> #include <string.h> using namespace std; struct student{ int id; //成员变量或对象 char name[64]; int age; int score; //... }; typedef struct student STU; void modify_stu_name(STU* pstu,const char*new_name) { strcpy(pstu->name, new_name); } void modify_stu_score(STU*pstu,const int new_score) { pstu->score = new_score; } void show_stu(STU*pstu) { cout<<"id="<<pstu->id<<endl; cout<<"name="<<pstu->name<<endl; cout<<"age="<<pstu->age<<endl; cout<<"score="<<pstu->score<<endl; } class Student{ private: //属性 int id; //成员变量或对象 char name[64]; int age; int score; public: //成员方法或函数//行为 Student(){} Student(int i,const char*n,int a,int s){ id=i,strcpy(name,n),age=a,score=s; } void modify_stu_name(const char*new_name) { strcpy(name, new_name); } void modify_stu_score(const int new_score) { score = new_score; } void show_stu() { cout<<"id="<<id<<endl; cout<<"name="<<name<<endl; cout<<"age="<<age<<endl; cout<<"score="<<score<<endl; } };//end class Student int main() { // Student s ={1001,"wangwu",20,99}; Student s(1001,"wangwu",20,99); s.id =1003; s.modify_stu_name("maliu"); s.modify_stu_score(95); s.show_stu(); struct student stu={1001,"zhangsan",20,100}; stu.id = 1002; modify_stu_name(&stu,"lisi"); modify_stu_score(&stu,90); show_stu(&stu); #if 0 //err: name[64] = "lisi"; const char *p ="lisi"; // p[0] = 'k'; strcpy(stu.name,"lisi"); strcpy(stu.name,p); cout<<stu.name<<endl; stu.score = 90; cout<<stu.score<<endl; #else #endif #if 0 name[0] = 'l'; name[1] = 'i'; name[2] = 's'; name[3] = 'i'; name[4] = '\0'; #else // strcpy(name, "lisi"); #endif // cout<<name<<endl; //此“zhangsan”放在栈,因为name属于栈空间的 char name []="zhangsan"; return 0; }
相关文章推荐
- C++ 对象复制 内存拷贝
- 【poj 1836】Alignment 题意&题解&代码(C++)
- c++ constexpr
- C语言复习1之指针
- C++ nullptr
- C++ 函数指针批处理
- c++ 函数指针
- C++ 内联函数 浅解
- C/C++ 副作用和序列点
- C++ 函数参数的默认值
- 程冬冬 2010.12.22 C语言程序-收发EMAIL
- 格式化 C语言源码——命令indent
- 【poj 3267】The Cow Lexicon 题意&题解&代码(C++)
- C++ 函数匹配和作用域声明
- CFile处理(读取路径文件内容,保存在表里面)
- 【C/C++】任意大于1的整数分解成素数因子乘积的形式
- c++ vector 迭代器 demo
- 多字节字符集和宽字节字符集区别
- c语言中的 顺序点
- C语言函数堆栈的思考