Microsoft MVP성태의 닷넷 이야기
VC++: 21. Visual C++ struct와 class의 차이점 [링크 복사], [링크+제목 복사],
조회: 22678
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

[이 토픽은 제가 뉴스그룹에 했던 답변내용입니다.]

=============================================================
위에 분들이 이미 설명해 주셨지만. ^^
부연 설명을 드리자면.

struct와 class는 정확히 동일합니다. 단, 한가지 예외는 struct는 기본이 public 한정자를 사용하고, class는 기본이 private 한정자라는 것만 틀립니다. 따라서, modifier만 지정한다면, 아래의 AClass와 AStruct의 차이점은 없습니다.

vtable의 사용 여부도 마찬가지지만... 어쨌든 VC++에서는 struct 또는 class를 사용하는 것은 개인의 취향이라고 봐도 무방합니다. 단지 관례라는 면만 제외한다면.

class AClass
{
private:
 int t;

public:
 AClass();
 virtual ~AClass();
};

struct AStruct
{
private:
 int t;

public:
 AStruct()
 {
 }
 virtual ~AStruct()
 {
 }
};







[최초 등록일: ]
[최종 수정일: 6/11/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 121  122  123  124  125  126  127  [128]  129  130  131  132  133  134  135  ...
NoWriterDateCnt.TitleFile(s)
10837정성태8/21/201522900오류 유형: 303. Your computer is low on memory. Save your files and close these programs...
10836정성태8/21/201525940오류 유형: 302. 설치 파일 실행 시 "This app can't run on your PC" 오류가 뜬다면?
10835정성태8/21/201533178웹: 31. Microsoft Edge 브라우저를 명령행에서 띄우는 방법 [1]
10834정성태8/19/201526755.NET Framework: 526. 닷넷 - 값 형식을 new 없이 생성하면 0으로 초기화되지 않는다?
10833정성태8/18/201531904.NET Framework: 525. C# - 닷넷에서 프로세스가 열고 있는 파일 목록을 구하는 방법파일 다운로드1
10832정성태8/17/201534789디버깅 기술: 74. x64 콜 스택 인자 추적과 windbg의 Child-SP, RetAddr, Args to Child 값 확인 [8]파일 다운로드2
10831정성태8/13/201537132.NET Framework: 524. .NET 4.0과 .NET 4.5의 컴파일 결과 차이점 [1]파일 다운로드1
10830정성태8/12/201530453개발 환경 구성: 275. Web.config이 적용되지 않는 프로젝트에서 Razor 템플릿 파일의 C# 컴파일러 버전 제어 [1]
10829정성태8/10/201532642개발 환경 구성: 274. PowerShell/명령행에서 JDK/JRE를 무인(unattended)/자동 설치를 하는 방법 [3]
10828정성태8/10/201537574웹: 30. Edge 브라우저에서 "이 웹 사이트에는 Internet Explorer가 필요함" 단계를 없애는 방법 [1]
10827정성태7/8/201537845개발 환경 구성: 273. Visual Studio 2015에서 Github와 연동하는 방법 [3]
10826정성태7/8/201529643오류 유형: 301. The trust relationship between this workstation and the primary domain failed. - 두 번째 이야기
10825정성태7/8/201526096개발 환경 구성: 272. Visual Studio IDE 설치 없이 Visual Studio SDK 설치하는 방법
10824정성태7/7/201532350개발 환경 구성: 271. Team Foundation Server 2015 설치 방법 [1]
10823정성태7/7/201534653오류 유형: 300. SqlException (0x80131904): Unable to open the physical file
10822정성태7/7/201532557오류 유형: 299. The 'Visual C++ Project System Package' package did not load correctly.
10821정성태7/7/201525734오류 유형: 298. Unable to start debugging on the web server. IIS does not list a web site that matches the launched URL.
10820정성태7/7/201531553오류 유형: 297. HTTP Error 503. The service is unavailable. - 두 번째
10819정성태7/2/201534133오류 유형: 296. SQL Server Express 시작 오류 - error code 3417
10818정성태7/1/201534029오류 유형: 295. HTTP Error 503. The service is unavailable. [1]
10817정성태6/29/201539449.NET Framework: 523. C# 람다(Lambda)에서 변수 캡처 방식 [3]
10816정성태6/25/201533336.NET Framework: 522. 닷넷의 어셈블리 서명 데이터 확인 방법파일 다운로드1
10815정성태6/23/201531911Graphics: 1. 자네 나와 함께... UNITY 하지 않겠는가! [4]
10814정성태6/22/201529894.NET Framework: 521. Roslyn을 이용해 C# 문법 변형하기 (2) [5]
10813정성태6/21/201530690.NET Framework: 520. Roslyn을 이용해 C# 문법 변형하기 (1)
10812정성태6/20/201531503.NET Framework: 519. C# 6.0 오픈 소스 컴파일러 Roslyn - 빌드 및 테스트 방법 [1]
... 121  122  123  124  125  126  127  [128]  129  130  131  132  133  134  135  ...